{"id":13929140,"url":"https://github.com/arc42/arc42-generator","last_synced_at":"2026-01-24T12:19:38.847Z","repository":{"id":41447413,"uuid":"65985786","full_name":"arc42/arc42-generator","owner":"arc42","description":"a gradle build to generate all derived templates from arc42-master","archived":false,"fork":false,"pushed_at":"2025-12-11T15:51:23.000Z","size":1398,"stargazers_count":52,"open_issues_count":12,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-12-12T09:47:31.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arc42.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-08-18T09:48:54.000Z","updated_at":"2025-12-11T15:51:27.000Z","dependencies_parsed_at":"2025-03-16T12:24:49.717Z","dependency_job_id":"7d00f98f-ca4e-46ff-8d31-678c3826eeb8","html_url":"https://github.com/arc42/arc42-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arc42/arc42-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc42%2Farc42-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc42%2Farc42-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc42%2Farc42-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc42%2Farc42-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arc42","download_url":"https://codeload.github.com/arc42/arc42-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arc42%2Farc42-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28727517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest2022"],"created_at":"2024-08-07T18:02:08.804Z","updated_at":"2026-01-24T12:19:38.842Z","avatar_url":"https://github.com/arc42.png","language":"Groovy","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"= image:./small-arc42-logo.png[arc42] Generator for arc42 Template Formats\n\nIf you want to use an arc42 template for your system, you **don't need to use this repo** - just use one of the templates you find on https://arc42.org/download.\n\n== General Overview\n\nThe content (structure + embedded-help) of the arc42 template are maintained in the https://github.com/arc42/arc42-template repository. \n\n\n\u003eSee section [#generator-requirements] for a brief explanation of terminology and requirements.\n\n== How to Build\n\n\nThis repository contains a Groovy-based build system that generates arc42 templates in multiple formats and languages from the Golden Master source.\n\n**IMPORTANT: Docker is the only supported build approach.** All dependencies (Java, Groovy, Pandoc, cmark) are pre-configured in the Docker container.\n\n\u003eIn theory it will be possible to run the build locally without Docker, but this is not supported and may lead to unexpected issues.\n\n\n=== Prerequisites\n\n* https://www.docker.com/[Docker] and Docker Compose installed\n* Git (to clone the repository with submodules)\n\n=== Quick Start\n\n1. Clone this repository including submodules:\n+\n----\ngit clone --recurse-submodules git@github.com:arc42/arc42-generator.git\ncd arc42-generator\n----\n\n2. Run the build using Docker Compose:\n+\n----\ndocker compose up\n----\n+\nThe build will:\n\n* Update the arc42-template submodule (Golden Master)\n* Generate templates in all supported languages and flavors\n* Convert to 15+ output formats (HTML, Markdown, DOCX, PDF, etc.)\n* Validate CommonMark markdown and image references\n* Create distribution ZIP files in `arc42-template/dist/`\n\nResults are written to the local `build/` directory.\n\n\n=== Building in GitHub Codespaces\n\nDocker is the recommended approach even in GitHub Codespaces:\n\n----\ndocker compose up\n----\n\nThe container handles all Git ownership issues automatically, so you don't need to install any local dependencies.\n\n=== Advanced Build Options\n\nTo rebuild the Docker image from scratch:\n\n----\ndocker compose build --no-cache\n----\n\nTo run individual build phases inside the container:\n\n----\n# Start an interactive shell in the container\ndocker compose run --rm arc42-builder /bin/bash\n\n# Then run individual phases\ngroovy build.groovy templates      # Generate templates only\ngroovy build.groovy convert        # Convert to output formats\ngroovy build.groovy distribution   # Create distribution ZIPs\n----\n\n=== Build Validation\n\nThe build includes automatic validation:\n\n* **CommonMark validation**: Validates generated Markdown files against GitHub-flavored Markdown spec using `cmark`\n* **Image validation**: Checks that all image references exist in with-help flavors (markdown, asciidoc, textile, rst, html)\n* **Submodule integrity**: Ensures arc42-template submodule is up-to-date\n\nAll validations are non-fatal - the build continues even if warnings are reported.\n\n\n\n=== Docker Image Details\n\nThe Docker image is optimized for size and build speed:\n\n* **Multi-stage build**: Separates build-time and runtime dependencies\n* **Cached dependencies**: Groovy Grape cache pre-populated during image build\n* **Minimal runtime**: Alpine Linux 3.20 with only essential tools\n* **Final image size**: ~564MB\n\nThe container includes:\n\n* Java Runtime (OpenJDK 21)\n* Groovy 5.0.3\n* Pandoc 3.7.0.2 (document converter)\n* cmark (CommonMark validator)\n* AsciidoctorJ (AsciiDoc processor)\n\n\n**No local installation of Java, Groovy, or Pandoc is required or supported.**\n\n\n== General Requirements\n\n=== Requirements Concerning the Generator\n\nWe need to build the template for several output formats and natural languages from a single source (the Golden Master in arc42-template).\n\n* Technical formats: docx, Markdown (with numerous variants), AsciiDoc, reStructuredText, Textile, HTML\n* Variantes (aka _flavours_): withHelp (embedded help texts), plain (no help texts)\n* Natural languages: English, German, Spanish, French, Italian, Portuguese, Chinese and others.\n\n\n=== Requirements Concerning arc42\nWe collected the +arc42+ link:docs/arc42-requirements.adoc[requirements in a separate document].\n\n\n\n== Template Downloads\nFor template downloads please see the https://github.com/arc42/arc42-template[arc42-template] repository or the official download page on http://arc42.org/download.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farc42%2Farc42-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farc42%2Farc42-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farc42%2Farc42-generator/lists"}