0017. The project-template repository is generated from cheme init by CI¶
- Status: Accepted
- Date: 2026-10-24
Context¶
New plants start either with cheme init or with GitHub's "Use this template" on
ChemE-as-Code/project-template. Two hand-maintained copies of the template (in
src/chemeascode/templates/project/ and in that repository) would drift, including the
installed skill copies.
Decision¶
src/chemeascode/templates/project/ plus the bundled skills is the only source. After ci
passed on a push to main, the project-template workflow runs cheme init of that commit and
pushes the result to ChemE-as-Code/project-template when anything changed (token
PROJECT_TEMPLATE_TOKEN). Only the tip of main is regenerated. The template repository is
never edited by hand.
Consequences¶
- Positive: both entry points give the same files; the template always matches the released skills.
- Negative: a change to the template repository must be made in core; if the workflow cannot run (e.g. GitHub Actions unavailable), the template falls behind until the next run.
- Negative: an extra secret with write access to another repository.
Evidence¶
- HTTPS checkout, no LICENSE in the template repository: the plant README generated by
cheme initstates that the plant content is the user's to licence. The skills and scripts in it stay AGPL-3.0-or-later:.claude/skills/NOTICE.mdand the plant README state both (REFERENCE.md, License). .github/workflows/project-template.yml,AGENTS.md,REFERENCE.md("How the pieces fit together").