| summary | AGENTS.md — tpl-template-repo. | |
|---|---|---|
| read_when |
|
|
| type | reference |
Build and maintain the L0 meta-template that scaffolds compliant L1 template repositories.
- Keep recursion bounded:
L0 -> L1 -> L2only. - Never encode nested
copier copycalls inside template_tasks. - Keep
.copier-answers.ymlcommitted in generated repositories. - Preserve baseline folder skeleton + git baseline files unless intentionally changed by policy.
- Treat
enable_community_packas profile policy (default disabled, enable for public/community-facing repos). - Treat
enable_release_packas profile policy (default disabled, enable where release automation is required). - Treat
enable_vouch_gateas profile policy (default disabled, enable for trust-gated/public repos). - Keep generated repo-local task/issue/work-item surfaces AK-first: Agent Kernel is authoritative, while checked-in files such as
governance/work-items.jsonare deterministic projections/mirrors. - When templates ship repo-local work-items, prefer plain installed
akas the canonical operator path in generated repos. Never reintroduce silent CI skips for projection drift checks. - When templates teach explicit task scope, keep AK as the authoring surface and treat frozen
governance/task-scopes/AK-<TASK-ID>.snapshot.jsonfiles as repo-consumption exports rather than hand-authored authority. - Generic AK launcher/build wrapper distribution is being removed from template/generated repos; keep plain installed
akas the public path and do not reintroduce copied launcher-resolution bundles. - No secrets in git.
Allowed:
L0 -> L1L1 -> L2
Forbidden:
L1 -> L0L2 -> L1- any cycle
- Docs discovery/scoping:
./scripts/docs-list.sh --task "<task>" --top 8 - Prompt read-scope allowlist:
./scripts/docs-list.sh --from-prompt <prompt-file> --paths-only --wikilink - Repo census preflight:
./scripts/preflight-repo-census.sh [scope] - ROCS command launcher (deterministic + portable):
./scripts/rocs.sh <rocs args...> - Engineering contract authoring (when engineering guidance is in scope): generated repos should treat
policy/engineering-lane.jsonas the source of truth for the declared upstream lane command anddocs/engineering.local.mdas the local override; do not emit--prefer-repounless a repo ships trusted locallanes/
- Prefer deterministic wrappers (
./scripts/rocs.sh, reposcripts/*) over ad-hoc inline scripts, but keep plain installedakas the public operator path in generated repos. - When task/work-item or task-scope surfaces are in scope, use
ak ...by default, and keep repo-local task-scope files as frozen AK exports rather than hand-authored truth. - For ontology/policy checks, run ROCS before custom Python one-offs.
- Use inline Python only as an explicit escape hatch when no deterministic command exists.
- Keep session capture in
./diary/YYYY-MM-DD--type-scope-summary.mdfor this repo. - Keep diary guidance in
./diary/README.md. - Apply the same diary contract per structural template (
tpl-agent-repo,tpl-org-repo,tpl-project-repo).
- Flow:
Session output -> diary/ (raw) -> docs/learnings/ (crystallized) -> tips/meta/ (propagated). /deep-reviewfindings are raw input only until crystallized intodocs/learnings/.- When a learning is recurrent, encode a deterministic check in
scripts/so regressions fail fast.
bash ./scripts/check-l0.sh- optional focused runs:
bash ./scripts/check-supply-chain.shbash ./scripts/check-l0-generation.shbash ./scripts/check-l0-fixtures.sh