create-agdf 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE ADDED
@@ -0,0 +1,10 @@
1
+ AI Governance & Delivery Framework (AGDF)
2
+
3
+ Copyright 2024-2026 Arndt Gold.
4
+
5
+ The create-agdf package is licensed under the Apache License, Version 2.0.
6
+
7
+ AGDF(TM) and AI Governance & Delivery Framework(TM) are marks of Arndt Gold.
8
+ The package license does not grant permission to use project names, trademarks,
9
+ service marks or logos except as required for reasonable and customary
10
+ description of the origin of the project.
package/README.md CHANGED
@@ -5,12 +5,13 @@ Bootstrap AGDF repository instructions and a machine-checkable control loop for
5
5
  ## Usage
6
6
 
7
7
  ```bash
8
- npm create agdf@latest codex
9
- npm create agdf@latest copilot
10
- npm create agdf@latest both
11
- npm create agdf@latest init
12
- npm create agdf@latest doctor
13
- npm create agdf@latest gate-check
8
+ npm create agdf@latest -- codex
9
+ npm create agdf@latest -- copilot
10
+ npm create agdf@latest -- both
11
+ npm create agdf@latest -- init
12
+ npm create agdf@latest -- config --language en
13
+ npm create agdf@latest -- doctor
14
+ npm create agdf@latest -- gate-check
14
15
  ```
15
16
 
16
17
  Optional flags:
@@ -26,12 +27,13 @@ If no language is provided, `create-agdf` derives the preference from the local
26
27
  - `codex` writes a repository-local Codex marketplace under `.agents/plugins/` and a local AGDF plugin copy under `plugins/agdf/`
27
28
  - `copilot` writes `AGENTS.md`, Copilot custom instructions under `.github/`, visible repository skills under `.github/skills/`, and AGDF control templates under `.agdf/control/`
28
29
  - `both` writes the Codex repository-local marketplace plus the Copilot-facing repository files
30
+ - `config` writes or updates only `.agdf/control/config.json` for an already installed plugin or an existing repository
29
31
 
30
32
  If the target repository already has an `AGENTS.md`, `create-agdf` preserves it and writes `AGENTS.agdf.md` instead of replacing your existing instructions. Merge the AGDF fragment into your current `AGENTS.md` when you want Copilot to load both instruction sets. The generated `.github/copilot-instructions.md` keeps Copilot pointed at `AGENTS.md`, `.github/skills/` and `.agdf/control/` without duplicating the full AGDF rule model. Use `--force` only when you explicitly want to overwrite generated files.
31
33
 
32
34
  Use the `codex` target when AGDF should be available only inside one repository instead of being installed as a personal/global Codex plugin.
33
35
 
34
- After `npm create agdf@latest codex`, restart Codex in that repository, open `/plugins`, select `This repository` and install `agdf`.
36
+ After `npm create agdf@latest -- codex`, restart Codex in that repository, open `/plugins`, select `This repository` and install `agdf`.
35
37
 
36
38
  ## Control scaffold
37
39
 
@@ -44,10 +46,10 @@ The generated `.agdf/control/templates/` files are reusable starting points for
44
46
  - `CONTEXT_GRAPH.md` for durable Brownfield findings, decisions, risks, evidence and exit criteria
45
47
  - `AGENT_QUALITY_CONTRACTS.json` for reusable block, revise and warning conditions
46
48
 
47
- Use `init` to promote those templates into live control files:
49
+ Use `init` to promote those templates into live control files when the repository should own durable AGDF control state:
48
50
 
49
51
  ```bash
50
- npm create agdf@latest init
52
+ npm create agdf@latest -- init
51
53
  ```
52
54
 
53
55
  This writes:
@@ -66,11 +68,17 @@ This writes:
66
68
 
67
69
  `config.json` stores `artifact_language` and `chat_language` for governed work in the target repository. Runtime rules stay English so all AGDF surfaces share the same control contract.
68
70
 
71
+ For an existing repository where the plugin is already installed and only the language preference is missing or wrong, use the lighter config target:
72
+
73
+ ```bash
74
+ npm create agdf@latest -- config --language en
75
+ ```
76
+
69
77
  Use `doctor` to check whether the live control state is actionable:
70
78
 
71
79
  ```bash
72
- npm create agdf@latest doctor
73
- npm create agdf@latest doctor --json
80
+ npm create agdf@latest -- doctor
81
+ npx --yes create-agdf@latest doctor --json
74
82
  ```
75
83
 
76
84
  The doctor reports missing live control files, missing current gate, missing next allowed action, empty evidence, empty backlog pointer, empty source-of-truth registry, duplicate active SoT rows and invalid quality contracts. It exits non-zero only for blocking control failures.
@@ -78,13 +86,13 @@ The doctor reports missing live control files, missing current gate, missing nex
78
86
  Use `gate-check` to derive the next process decision from the doctor result and `AGDF_RUN.md`:
79
87
 
80
88
  ```bash
81
- npm create agdf@latest gate-check
82
- npm create agdf@latest gate-check --json
89
+ npm create agdf@latest -- gate-check
90
+ npx --yes create-agdf@latest gate-check --json
83
91
  ```
84
92
 
85
93
  The gate check reports `open | blocked`, the current gate, blocking reason, missing exact approval, allowed outputs, forbidden outputs, next allowed action, evidence references and the embedded doctor report.
86
94
 
87
- Together, `init`, `doctor` and `gate-check --json` turn AGDF from an instruction layer into a repository control system: the agent can be guided by rules, and the repository state can be checked before the next governed step.
95
+ Together, `init`, `doctor` and `gate-check --json` turn AGDF from an instruction layer into a repository control system when durable control state is needed. For normal fresh requests, the agent-native path can stay lighter: draft the minimal UR in the response, request `Approval: UR`, and use CLI validators only when machine-readable proof is useful.
88
96
 
89
97
  ## Single source of truth
90
98
 
@@ -119,3 +127,8 @@ The repository publishes this package from `create-agdf/` via the GitHub Actions
119
127
  - Create or update the version in `create-agdf/package.json`
120
128
  - Push a matching git tag in the form `create-agdf-v<version>`
121
129
  - Ensure the repository secret `NPM_TOKEN` exists with publish rights for `create-agdf`
130
+
131
+ ## Trademark Notice
132
+
133
+ AGDF(TM) and AI Governance & Delivery Framework(TM) are marks of Arndt Gold.
134
+ Use of the AGDF name and marks is governed by the project trademark guidelines.
@@ -11,7 +11,7 @@ const generatedRoot = join(packageRoot, "generated");
11
11
  const pluginDefinitionPath = join(generatedRoot, "plugins", "agdf", "meta", "agdf-plugin.definition.json");
12
12
  const pluginDefinition = JSON.parse(readFileSync(pluginDefinitionPath, "utf8"));
13
13
  const pluginInstallCommand = "claude plugin add arndtgold/ai-native-governance-delivery-framework";
14
- const allowedTargets = new Set(["codex", "copilot", "both", "init", "doctor", "gate-check", "delivery-map"]);
14
+ const allowedTargets = new Set(["codex", "copilot", "both", "init", "config", "doctor", "gate-check", "delivery-map"]);
15
15
  const agdfFragmentPath = "AGENTS.agdf.md";
16
16
  const userGateOrder = ["UR", "PRD", "SD", "TP", "QA", "UAT"];
17
17
  const durableGateArtefacts = new Set(["UR", "PRD", "SD", "TP", "QA"]);
@@ -117,13 +117,14 @@ function printUsage() {
117
117
  console.log(`create-agdf
118
118
 
119
119
  Usage:
120
- npm create agdf@latest codex
121
- npm create agdf@latest copilot
122
- npm create agdf@latest both
123
- npm create agdf@latest init
124
- npm create agdf@latest doctor
125
- npm create agdf@latest gate-check
126
- npm create agdf@latest delivery-map
120
+ npm create agdf@latest -- codex
121
+ npm create agdf@latest -- copilot
122
+ npm create agdf@latest -- both
123
+ npm create agdf@latest -- init
124
+ npm create agdf@latest -- config --language de
125
+ npm create agdf@latest -- doctor
126
+ npm create agdf@latest -- gate-check
127
+ npm create agdf@latest -- delivery-map
127
128
 
128
129
  Options:
129
130
  --dir <path> Write files into a specific directory
@@ -262,7 +263,7 @@ function parseArgs(argv) {
262
263
  }
263
264
 
264
265
  if (!target || !allowedTargets.has(target)) {
265
- console.error("Please choose one target: codex, copilot, both, init, doctor, gate-check or delivery-map.");
266
+ console.error("Please choose one target: codex, copilot, both, init, config, doctor, gate-check or delivery-map.");
266
267
  printUsage();
267
268
  process.exit(1);
268
269
  }
@@ -280,11 +281,11 @@ function loadAsset(relativePath) {
280
281
  return readFileSync(join(generatedRoot, relativePath), "utf8");
281
282
  }
282
283
 
283
- function writeGeneratedFile(targetDir, relativePath, content, force) {
284
+ function writeGeneratedFile(targetDir, relativePath, content, force, allowOverwrite = false) {
284
285
  const outputPath = join(targetDir, relativePath);
285
286
  mkdirSync(dirname(outputPath), { recursive: true });
286
287
 
287
- if (existsSync(outputPath) && !force) {
288
+ if (existsSync(outputPath) && !force && !allowOverwrite) {
288
289
  throw new Error(`Refusing to overwrite existing file: ${relativePath}. Re-run with --force if you want to replace it.`);
289
290
  }
290
291
 
@@ -301,6 +302,15 @@ function addLanguageConfig(files, languagePreference) {
301
302
  function generatedFilesForTarget(target, targetDir, force, languagePreference) {
302
303
  const files = [];
303
304
 
305
+ if (target === "config") {
306
+ files.push({
307
+ path: join(".agdf", "control", "config.json"),
308
+ content: languageConfigContent(languagePreference),
309
+ allowOverwrite: true,
310
+ });
311
+ return files;
312
+ }
313
+
304
314
  if (target === "init") {
305
315
  addLanguageConfig(files, languagePreference);
306
316
  files.push({
@@ -386,10 +396,15 @@ function printNextSteps(target, destination, files, wroteAgentsFragment) {
386
396
  }
387
397
  if (target === "init") {
388
398
  console.log("- Fill .agdf/control/AGDF_RUN.md with the current gate, evidence and next allowed action.");
389
- console.log("- Run npm create agdf@latest doctor to check the control state before the next agent run.");
399
+ console.log("- Run npm create agdf@latest -- doctor to check the control state before the next agent run.");
390
400
  console.log("- Commit the live control files once they represent the repository's current delivery state.");
391
401
  return;
392
402
  }
403
+ if (target === "config") {
404
+ console.log("- Restart or start a new agent session so the AGDF SessionStart hook reads the updated project language config.");
405
+ console.log("- Run npm create agdf@latest -- doctor when this repository also uses durable AGDF control state.");
406
+ return;
407
+ }
393
408
  if (wroteAgentsFragment) {
394
409
  console.log(`- Existing AGENTS.md detected. Merge ${agdfFragmentPath} into your current AGENTS.md before using Copilot with AGDF.`);
395
410
  }
@@ -402,7 +417,7 @@ function printNextSteps(target, destination, files, wroteAgentsFragment) {
402
417
  }
403
418
  if (target === "copilot" || target === "both") {
404
419
  console.log("- In GitHub Copilot CLI, run /instructions after the AGENTS.md step is complete to confirm that AGDF instructions and the repository skills are visible.");
405
- console.log("- Run npm create agdf@latest init when the repository needs live AGDF control files.");
420
+ console.log("- Run npm create agdf@latest -- init when the repository needs live AGDF control files.");
406
421
  }
407
422
  console.log("- Commit the generated files so the repository becomes the source of truth.");
408
423
  }
@@ -506,7 +521,7 @@ function evaluateDoctor(targetDir) {
506
521
  ? "Live control file is missing; only the template exists."
507
522
  : "Required live control file is missing.",
508
523
  relativePath,
509
- "Run npm create agdf@latest init, then fill the live control files with the current repository state.",
524
+ "Run npm create agdf@latest -- init only when the repository should own durable AGDF control state or deterministic setup is explicitly needed.",
510
525
  );
511
526
  }
512
527
 
@@ -1119,13 +1134,12 @@ function evaluateGateCheck(targetDir) {
1119
1134
  currentGate = "UR";
1120
1135
  missingApproval = "Approval: UR";
1121
1136
  allowed = [
1122
- "initialize the AGDF control scaffold with npm create agdf@latest init",
1123
- "draft and persist the minimal UR for the requested change",
1124
- "link the UR from AGDF_RUN.md and MASTER_BACKLOG.md",
1137
+ "draft the minimal UR for the requested change in the response",
1125
1138
  "request exact approval: Approval: UR",
1139
+ "run npm create agdf@latest -- init only when durable control state or deterministic setup is explicitly needed",
1126
1140
  ];
1127
1141
  forbidden = ["create PRD", "create SD", "create TP", "run Brownfield Analysis", "implement code", "claim QA or release readiness"];
1128
- nextAllowedAction = "Initialize .agdf/control, draft the minimal UR for the request, then ask for exact approval: Approval: UR.";
1142
+ nextAllowedAction = "Draft the minimal UR for the request in the response, then ask for exact approval: Approval: UR. Do not write a full .agdf/control scaffold unless durable control state or deterministic setup is explicitly needed.";
1129
1143
  } else if (doctorBlocker) {
1130
1144
  status = "blocked";
1131
1145
  blockingReason = doctorBlocker.code;
@@ -1290,7 +1304,7 @@ function main() {
1290
1304
 
1291
1305
  try {
1292
1306
  for (const file of files) {
1293
- writeGeneratedFile(options.dir, file.path, file.content, options.force);
1307
+ writeGeneratedFile(options.dir, file.path, file.content, options.force, file.allowOverwrite);
1294
1308
  }
1295
1309
  } catch (error) {
1296
1310
  console.error(error.message);
@@ -49,15 +49,21 @@ Keep these files small and reviewable. They are control artefacts, not a second
49
49
  Create the live files with:
50
50
 
51
51
  ```bash
52
- npm create agdf@latest init
52
+ npm create agdf@latest -- init
53
+ ```
54
+
55
+ If only the project language preference is missing or should change after plugin installation, write just the config file:
56
+
57
+ ```bash
58
+ npm create agdf@latest -- config --language en
53
59
  ```
54
60
 
55
61
  Then check whether the live state is actionable:
56
62
 
57
63
  ```bash
58
- npm create agdf@latest doctor
59
- npm create agdf@latest doctor --json
60
- npm create agdf@latest gate-check --json
64
+ npm create agdf@latest -- doctor
65
+ npx --yes create-agdf@latest doctor --json
66
+ npx --yes create-agdf@latest gate-check --json
61
67
  ```
62
68
 
63
69
  `doctor` does not replace agent judgment. It catches basic control failures: missing live files, missing current gate, missing next allowed action, empty evidence, empty backlog pointer, empty source-of-truth registry, duplicate active SoT rows and invalid quality contracts.
@@ -5,9 +5,11 @@ AGDF is active in this repository.
5
5
  - Treat `AGENTS.md` as the primary repository instruction source.
6
6
  - Use `.github/skills/` for AGDF task workflows instead of inventing parallel process rules.
7
7
  - Use `.agdf/control/` for durable run state, backlog pointers, source-of-truth ownership, Context Graph knowledge and quality contracts.
8
+ - AGDF is agent-native first and CLI-verifiable by design.
8
9
  - Apply AGDF natively from `AGENTS.md`, repository skills and live `.agdf/control/` state before reaching for helper commands.
9
10
  - Before non-trivial implementation or formal delivery work, determine whether the request is a Quick Task or Structured Delivery.
10
11
  - If approval, evidence, ownership or the next allowed action is unclear, run the AGDF gate-check workflow before creating later artefacts or code.
11
- - Use machine-readable checks such as `doctor --json`, `gate-check --json` or `delivery-map --json` as validators, not as the primary workflow.
12
+ - Use `doctor --json`, `gate-check --json` or `delivery-map --json` as deterministic validators for CI, PR evidence, regression checks and audit trails, not as the primary workflow.
12
13
  - Do not infer gate approval from generic consent such as "ok", "go ahead", "do it", "continue", "leg los" or "approved".
13
14
  - Do not treat chat history as the source of truth for gate state, approvals, evidence or delivery status.
15
+ - Do not paste full control files, templates or artefact bodies into chat unless the user explicitly asks for the full content; summarize and link paths instead.
@@ -21,9 +21,10 @@ This skill must not create later artefacts such as PRD, SD, TP, CD, CR, QA, or U
21
21
  Use `../agdf-runtime-contract.md` for gate terms, closeout discipline, and non-duplication rules.
22
22
  The canonical gate order and transition model live only in the Runtime Contract. This skill evaluates the current state against that model; it must not maintain a second complete gate table.
23
23
 
24
- ## Native Control Path
24
+ ## Agent-Native Control Path
25
25
 
26
- AGDF is applied natively through this skill, the agent router, and live `.agdf/control/` state.
26
+ AGDF is agent-native first and CLI-verifiable by design.
27
+ This skill is the primary operating path for gate judgement.
27
28
 
28
29
  First inspect the durable control state directly:
29
30
 
@@ -33,18 +34,23 @@ First inspect the durable control state directly:
33
34
  - `.agdf/control/CONTEXT_GRAPH.md`
34
35
  - `.agdf/control/AGENT_QUALITY_CONTRACTS.json`
35
36
 
36
- Use the executable control path when a machine-readable check is requested, when the gate state is ambiguous, or when a repository-local automation needs JSON evidence:
37
+ If required control files are missing, do not automatically create a full `.agdf/control/` scaffold for a fresh small request.
38
+ The default first action is to draft the minimal UR in the response and request `Approval: UR`.
39
+ Use `init` only when the user explicitly asks for durable AGDF control state, the repository already uses `.agdf/control/` as its live working state, or a deterministic CLI/CI setup path is being executed.
40
+
41
+ Use the executable control path when a machine-readable check is requested, when the gate state is ambiguous, when CI or PR evidence is needed, or when a repository-local automation needs JSON output:
37
42
 
38
43
  ```bash
39
- npm create agdf@latest doctor --json
40
- npm create agdf@latest gate-check --json
41
- npm create agdf@latest delivery-map --json
44
+ npm create agdf@latest -- init
45
+ npx --yes create-agdf@latest doctor --json
46
+ npx --yes create-agdf@latest gate-check --json
47
+ npx --yes create-agdf@latest delivery-map --json
42
48
  ```
43
49
 
44
- `doctor` checks whether `.agdf/control/` is actionable. `agdf-gate-check` consumes that result and `AGDF_RUN.md` to report the operative process decision: `open | blocked`, current gate, blocking reason, missing approval, allowed outputs, forbidden outputs, next allowed action and evidence references.
50
+ `init` creates the control scaffold. `doctor` checks whether `.agdf/control/` is actionable. `agdf-gate-check` consumes that result and `AGDF_RUN.md` to report the operative process decision: `open | blocked`, current gate, blocking reason, missing approval, allowed outputs, forbidden outputs, next allowed action and evidence references.
45
51
  `delivery-map` reports the durable delivery picture: active artefacts, approvals, Artefact Chain relationships, evidence refs, missing evidence, risks, Context Graph gate effect and machine-readable findings.
46
52
 
47
- The CLI reports are validators and JSON evidence, not the primary user experience and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
53
+ The CLI reports are validators and JSON evidence, not the primary user experience, not a required ritual for normal work and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
48
54
 
49
55
  ## Rules
50
56
  1. Fail closed when a required approval or artefact status is missing.
@@ -61,7 +67,7 @@ The CLI reports are validators and JSON evidence, not the primary user experienc
61
67
  12. Approval text and durable artefact presence are separate requirements for UR, PRD, SD, TP and QA report decisions. Approval text without the corresponding persisted or linked artefact keeps the current gate at that gate.
62
68
  13. After Brownfield Review, decide the process size before drafting PRD or implementing: `quick_task | structured_slice | structured_delivery | block`.
63
69
  14. The Mode/Slice Decision must be visible and evidenced before any Quick Task execution, PRD shortcut or implementation. A decision value without scope reason and evidence is still missing.
64
- 15. Missing or incomplete control state must not push work back to the user. If the next allowed step is an artefact draft, the agent may initialize the scaffold, draft the current allowed artefact, link it, and then request the exact approval. Implementation remains forbidden.
70
+ 15. Missing or incomplete control state must not push setup work back to the user. For a fresh request, draft the current minimal artefact in the response and request the exact approval. Initialize or write `.agdf/control/` only when durable control state is explicitly requested, already live for the repository, or required for a deterministic CLI/CI setup path. Implementation remains forbidden.
65
71
 
66
72
  ## Gate Evaluation
67
73
 
@@ -108,7 +114,7 @@ If a status is not explicit, do not assume it is satisfied.
108
114
  8. Treat a generic "start", "continue" or "leg los" request as a request to perform only the current next allowed action.
109
115
  9. After Brownfield Review, choose the smallest safe process path before creating later artefacts.
110
116
  10. If the selected path is not visibly recorded with scope reason and evidence, keep the run at `Mode/Slice Decision`.
111
- 11. When `.agdf/control/` is missing or incomplete, make the next allowed artefact action explicit. For a fresh request, that means initialize control state, draft the minimal UR, then request `Approval: UR`.
117
+ 11. When `.agdf/control/` is missing or incomplete, make the next allowed artefact action explicit. For a fresh request, that means draft the minimal UR in the response, then request `Approval: UR`. Do not write a full control scaffold unless durable control state was explicitly requested or is already the repository's live AGDF working state.
112
118
 
113
119
  ## Output
114
120
  Keep the result short and operational:
@@ -120,6 +126,9 @@ Keep the result short and operational:
120
126
  - **Missing approval:** `Approval: <GateName> | none`
121
127
  - **Next step:** `<single permissible next step>`
122
128
 
129
+ If this skill creates or updates control artefacts, do not paste full file bodies into the chat.
130
+ List paths, summarize the decision, name the blocker or approval needed, and keep the durable content in the files.
131
+
123
132
  ## Forbidden
124
133
  This skill must not:
125
134
 
@@ -135,5 +144,6 @@ This skill must not:
135
144
  - treat "ok", "leg los", "go ahead", "approved" or similar wording as gate approval
136
145
  - perform full Brownfield Analysis unless explicitly requested
137
146
  - provide implementation snippets while implementation is gated
147
+ - paste full `.agdf/control/` files, templates or artefact bodies into the chat unless the user explicitly asks for the full content
138
148
  - present QA or UAT as passed without evidence
139
149
  - present release as allowed without QA pass and UAT approval where required
@@ -27,6 +27,19 @@ Use this compact output shape when no formal gate artefact is required:
27
27
 
28
28
  Do not add a separate `Quality outlook` line for pure Quick Tasks unless the task became a relevant run.
29
29
 
30
+ ## Chat Output Discipline
31
+
32
+ Durable artefacts are for the repository, not for flooding the chat.
33
+ When a skill creates or updates `.agdf/control/` files, gate artefacts, reviews, QA reports or OR reports, the chat response must stay compact:
34
+
35
+ - name the artefact path and status
36
+ - summarize the decision or content in a few lines
37
+ - state the current gate, forbidden work and next permissible step
38
+ - mention validation evidence when available
39
+
40
+ Do not paste full control files, full artefact bodies, full templates or full generated reports into the chat unless the user explicitly asks to see the full content.
41
+ For larger or more formal work, create or update the durable artefacts fully, then reference them by path and summarize what changed.
42
+
30
43
  ## Relevant Run
31
44
 
32
45
  A relevant run is any run that changes durable state, creates or updates an AGDF artefact, changes code or runtime behaviour, performs a gate decision, blocks on a governance condition, produces QA/UAT/release evidence, or closes a delivery slice.
@@ -45,7 +58,7 @@ When in doubt, use a short OR-lite only if it clarifies gate state, evidence, ri
45
58
  - For UR, PRD, SD, TP and QA, approval and durable artefact presence are separate requirements. A gate is not satisfied by approval text alone when its artefact is missing from `.agdf/control/` or not linked to the authoritative repository SoT.
46
59
  - Approval of one user gate permits work on the next allowed gate artefact or required internal step only. It does not permit implementation unless the approved gate is `TP` and required internal implementation prerequisites are satisfied.
47
60
  - Gates must never be skipped or inferred from urgency, tone, chat history, task wording or an instruction to "start". The next allowed action is always the next unsatisfied gate or internal mandatory step.
48
- - Missing control files or missing current-state fields do not forbid the agent from preparing the current allowed artefact. They forbid later-gate work and implementation. For a fresh request, the allowed work is to initialize `.agdf/control/`, draft the minimal UR, link it, and request `Approval: UR`.
61
+ - Missing control files or missing current-state fields do not forbid the agent from preparing the current allowed artefact. They forbid later-gate work and implementation. For a fresh request, the default allowed work is to draft a minimal UR in the response and request `Approval: UR`. Initialize or write `.agdf/control/` only when the user explicitly asks for durable AGDF control state, the repository already uses `.agdf/control/` as its live working state, or a deterministic CLI/CI setup path is being executed.
49
62
  - `Approval: UR` permits Brownfield Review after G-00 first, then a Mode/Slice Decision. It never permits implementation by itself.
50
63
  - PRD, SD and TP depth is chosen after Brownfield Review through the Mode/Slice Decision, not before existing-system impact is understood.
51
64
  - The Mode/Slice Decision must be visible before any PRD shortcut, Quick Task execution or implementation: record the decision, required next gate, scope reason and evidence in `AGDF_RUN.md` or an equivalent linked control artefact.
@@ -151,12 +164,23 @@ When a repository needs durable AGDF state, use the plugin-local `control/` scaf
151
164
 
152
165
  The scaffold is not a second documentation site. Link to authoritative artefacts instead of copying them.
153
166
 
154
- ## Native Runtime
167
+ ## Agent-Native Runtime And CLI Verification
168
+
169
+ AGDF is agent-native first and CLI-verifiable by design.
170
+
171
+ The primary operating path is the active skill plus the live `.agdf/control/` artefacts.
172
+ Agents should read the repository state, apply this Runtime Contract, create or update only the currently allowed artefact, and make the next permissible step explicit.
173
+ When control state is missing for a fresh request, keep the first step lightweight: draft the minimal UR in the response and request `Approval: UR`.
174
+ Initialize a control scaffold only when durable AGDF control state is explicitly requested, already used by the repository, or required by a deterministic CLI/CI setup path.
175
+
176
+ Helper commands are deterministic proof and automation interfaces, not the normal-work ritual:
155
177
 
156
- AGDF must work natively through the plugin router, skills and live `.agdf/control/` artefacts.
157
- Agents should read the live control state and apply the gate model directly before reaching for helper commands.
178
+ - `init` creates the machine-readable control scaffold.
179
+ - `doctor --json` checks whether `.agdf/control/` is consistent and actionable; it is not the reviewer.
180
+ - `gate-check --json` reports reproducible gate state; it does not replace the gate-check skill judgement.
181
+ - `delivery-map --json` reports the delivery picture for CI, PRs, regression checks and audit trails.
158
182
 
159
- Machine-readable commands such as `doctor --json`, `gate-check --json` and `delivery-map --json` are validators and automation interfaces.
183
+ Machine-readable outputs should stay agent-friendly: stable decisions, blocking gate or current gate, missing approval, allowed outputs, forbidden outputs, next step, evidence and findings.
160
184
  They make the repository state checkable, but they do not replace the native skill workflow or the durable control artefacts.
161
185
 
162
186
  ## Delivery Map
@@ -72,8 +72,9 @@ Use templates as starting points only.
72
72
 
73
73
  Do not let chat history become the source of truth for gate state, approvals, evidence, backlog status or durable Brownfield knowledge.
74
74
 
75
- AGDF is a native agent workflow first: read the live control state, apply the active skill and make the next allowed step explicit.
76
- Use `doctor`, `gate-check --json` or `delivery-map --json` as validators when a machine-readable proof is useful, not as a substitute for the router or skills.
75
+ AGDF is agent-native first and CLI-verifiable by design: read the live control state, apply the active skill and make the next allowed step explicit.
76
+ Use `init` only when durable control state is explicitly requested, the repository already uses `.agdf/control/` as its live AGDF working state, or a deterministic CLI/CI setup path is being executed.
77
+ Use `doctor --json`, `gate-check --json` or `delivery-map --json` as deterministic validators for CI, PR evidence, regression checks or audit trails, not as a substitute for the router or skills.
77
78
 
78
79
  ## Closeout
79
80
  For Quick Task Mode, close with the Runtime Contract mini-output only:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agdf",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Codex-first workflow skills for gated, auditable AI-assisted software delivery.",
5
5
  "author": {
6
6
  "name": "AI-native Governance & Delivery Framework",
@@ -49,15 +49,21 @@ Keep these files small and reviewable. They are control artefacts, not a second
49
49
  Create the live files with:
50
50
 
51
51
  ```bash
52
- npm create agdf@latest init
52
+ npm create agdf@latest -- init
53
+ ```
54
+
55
+ If only the project language preference is missing or should change after plugin installation, write just the config file:
56
+
57
+ ```bash
58
+ npm create agdf@latest -- config --language en
53
59
  ```
54
60
 
55
61
  Then check whether the live state is actionable:
56
62
 
57
63
  ```bash
58
- npm create agdf@latest doctor
59
- npm create agdf@latest doctor --json
60
- npm create agdf@latest gate-check --json
64
+ npm create agdf@latest -- doctor
65
+ npx --yes create-agdf@latest doctor --json
66
+ npx --yes create-agdf@latest gate-check --json
61
67
  ```
62
68
 
63
69
  `doctor` does not replace agent judgment. It catches basic control failures: missing live files, missing current gate, missing next allowed action, empty evidence, empty backlog pointer, empty source-of-truth registry, duplicate active SoT rows and invalid quality contracts.
@@ -1,16 +1,40 @@
1
1
  #!/usr/bin/env bash
2
2
  # AGDF Session Start Hook
3
- # Loads the AGDF plugin router and constitution into the agent session.
3
+ # Activates a compact AGDF runtime reminder for the agent session.
4
4
 
5
5
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
- ROUTER="${SCRIPT_DIR}/../meta/agdf-agent-router.md"
7
- CONSTITUTION="${SCRIPT_DIR}/../meta/agdf-constitution.md"
6
+ META_DIR="$(cd "${SCRIPT_DIR}/../meta" && pwd)"
7
+ ROUTER="${META_DIR}/agdf-agent-router.md"
8
+ CONSTITUTION="${META_DIR}/agdf-constitution.md"
9
+ CONFIG_PATH="${PWD}/.agdf/control/config.json"
8
10
 
9
- if [ -f "$ROUTER" ]; then
10
- cat "$ROUTER"
11
- printf "\n\n"
11
+ CONFIG_HINT="Project config: .agdf/control/config.json not found. Use npm create agdf@latest -- config --language de|en to persist the project language."
12
+ if [[ -f "${CONFIG_PATH}" ]]; then
13
+ CONFIG_HINT="$(CONFIG_PATH="${CONFIG_PATH}" node <<'NODE' 2>/dev/null || true
14
+ const fs = require("node:fs");
15
+ const path = process.env.CONFIG_PATH;
16
+ try {
17
+ const config = JSON.parse(fs.readFileSync(path, "utf8"));
18
+ const artefacts = config.artifact_language || "unset";
19
+ const chat = config.chat_language || "unset";
20
+ const runtime = config.runtime_language || "en";
21
+ console.log(`Project config: .agdf/control/config.json (artefacts=${artefacts}, chat=${chat}, runtime=${runtime}).`);
22
+ } catch {
23
+ console.log("Project config: .agdf/control/config.json exists but is not valid JSON. Run npm create agdf@latest -- doctor.");
24
+ }
25
+ NODE
26
+ )"
12
27
  fi
13
28
 
14
- if [ -f "$CONSTITUTION" ]; then
15
- cat "$CONSTITUTION"
16
- fi
29
+ cat <<EOF
30
+ AGDF active.
31
+
32
+ Use the installed AGDF skills as workflow controls.
33
+ For a new build, change, extension, refactor, CLI, app, fix with product semantics, unclear approval, or unclear next step, use gate-check before implementation or later-gate artefacts.
34
+ ${CONFIG_HINT}
35
+
36
+ Do not print the full router or constitution unless the user asks for them.
37
+ Source of truth:
38
+ - ${ROUTER}
39
+ - ${CONSTITUTION}
40
+ EOF
@@ -73,8 +73,9 @@ Use templates as starting points only.
73
73
 
74
74
  Do not let chat history become the source of truth for gate state, approvals, evidence, backlog status or durable Brownfield knowledge.
75
75
 
76
- AGDF is a native agent workflow first: read the live control state, apply the active skill and make the next allowed step explicit.
77
- Use `doctor`, `gate-check --json` or `delivery-map --json` as validators when a machine-readable proof is useful, not as a substitute for the router or skills.
76
+ AGDF is agent-native first and CLI-verifiable by design: read the live control state, apply the active skill and make the next allowed step explicit.
77
+ Use `init` only when durable control state is explicitly requested, the repository already uses `.agdf/control/` as its live AGDF working state, or a deterministic CLI/CI setup path is being executed.
78
+ Use `doctor --json`, `gate-check --json` or `delivery-map --json` as deterministic validators for CI, PR evidence, regression checks or audit trails, not as a substitute for the router or skills.
78
79
 
79
80
  ## Closeout
80
81
  For Quick Task Mode, close with the Runtime Contract mini-output only:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "id": "agdf",
4
- "version": "0.2.6",
4
+ "version": "0.2.8",
5
5
  "displayName": "AI Governance & Delivery Framework",
6
6
  "developerName": "AI-native Governance & Delivery Framework",
7
7
  "description": "Codex-first workflow skills for gated, auditable AI-assisted software delivery.",
@@ -27,6 +27,19 @@ Use this compact output shape when no formal gate artefact is required:
27
27
 
28
28
  Do not add a separate `Quality outlook` line for pure Quick Tasks unless the task became a relevant run.
29
29
 
30
+ ## Chat Output Discipline
31
+
32
+ Durable artefacts are for the repository, not for flooding the chat.
33
+ When a skill creates or updates `.agdf/control/` files, gate artefacts, reviews, QA reports or OR reports, the chat response must stay compact:
34
+
35
+ - name the artefact path and status
36
+ - summarize the decision or content in a few lines
37
+ - state the current gate, forbidden work and next permissible step
38
+ - mention validation evidence when available
39
+
40
+ Do not paste full control files, full artefact bodies, full templates or full generated reports into the chat unless the user explicitly asks to see the full content.
41
+ For larger or more formal work, create or update the durable artefacts fully, then reference them by path and summarize what changed.
42
+
30
43
  ## Relevant Run
31
44
 
32
45
  A relevant run is any run that changes durable state, creates or updates an AGDF artefact, changes code or runtime behaviour, performs a gate decision, blocks on a governance condition, produces QA/UAT/release evidence, or closes a delivery slice.
@@ -45,7 +58,7 @@ When in doubt, use a short OR-lite only if it clarifies gate state, evidence, ri
45
58
  - For UR, PRD, SD, TP and QA, approval and durable artefact presence are separate requirements. A gate is not satisfied by approval text alone when its artefact is missing from `.agdf/control/` or not linked to the authoritative repository SoT.
46
59
  - Approval of one user gate permits work on the next allowed gate artefact or required internal step only. It does not permit implementation unless the approved gate is `TP` and required internal implementation prerequisites are satisfied.
47
60
  - Gates must never be skipped or inferred from urgency, tone, chat history, task wording or an instruction to "start". The next allowed action is always the next unsatisfied gate or internal mandatory step.
48
- - Missing control files or missing current-state fields do not forbid the agent from preparing the current allowed artefact. They forbid later-gate work and implementation. For a fresh request, the allowed work is to initialize `.agdf/control/`, draft the minimal UR, link it, and request `Approval: UR`.
61
+ - Missing control files or missing current-state fields do not forbid the agent from preparing the current allowed artefact. They forbid later-gate work and implementation. For a fresh request, the default allowed work is to draft a minimal UR in the response and request `Approval: UR`. Initialize or write `.agdf/control/` only when the user explicitly asks for durable AGDF control state, the repository already uses `.agdf/control/` as its live working state, or a deterministic CLI/CI setup path is being executed.
49
62
  - `Approval: UR` permits Brownfield Review after G-00 first, then a Mode/Slice Decision. It never permits implementation by itself.
50
63
  - PRD, SD and TP depth is chosen after Brownfield Review through the Mode/Slice Decision, not before existing-system impact is understood.
51
64
  - The Mode/Slice Decision must be visible before any PRD shortcut, Quick Task execution or implementation: record the decision, required next gate, scope reason and evidence in `AGDF_RUN.md` or an equivalent linked control artefact.
@@ -151,12 +164,23 @@ When a repository needs durable AGDF state, use the plugin-local `control/` scaf
151
164
 
152
165
  The scaffold is not a second documentation site. Link to authoritative artefacts instead of copying them.
153
166
 
154
- ## Native Runtime
167
+ ## Agent-Native Runtime And CLI Verification
168
+
169
+ AGDF is agent-native first and CLI-verifiable by design.
170
+
171
+ The primary operating path is the active skill plus the live `.agdf/control/` artefacts.
172
+ Agents should read the repository state, apply this Runtime Contract, create or update only the currently allowed artefact, and make the next permissible step explicit.
173
+ When control state is missing for a fresh request, keep the first step lightweight: draft the minimal UR in the response and request `Approval: UR`.
174
+ Initialize a control scaffold only when durable AGDF control state is explicitly requested, already used by the repository, or required by a deterministic CLI/CI setup path.
175
+
176
+ Helper commands are deterministic proof and automation interfaces, not the normal-work ritual:
155
177
 
156
- AGDF must work natively through the plugin router, skills and live `.agdf/control/` artefacts.
157
- Agents should read the live control state and apply the gate model directly before reaching for helper commands.
178
+ - `init` creates the machine-readable control scaffold.
179
+ - `doctor --json` checks whether `.agdf/control/` is consistent and actionable; it is not the reviewer.
180
+ - `gate-check --json` reports reproducible gate state; it does not replace the gate-check skill judgement.
181
+ - `delivery-map --json` reports the delivery picture for CI, PRs, regression checks and audit trails.
158
182
 
159
- Machine-readable commands such as `doctor --json`, `gate-check --json` and `delivery-map --json` are validators and automation interfaces.
183
+ Machine-readable outputs should stay agent-friendly: stable decisions, blocking gate or current gate, missing approval, allowed outputs, forbidden outputs, next step, evidence and findings.
160
184
  They make the repository state checkable, but they do not replace the native skill workflow or the durable control artefacts.
161
185
 
162
186
  ## Delivery Map
@@ -21,9 +21,10 @@ This skill must not create later artefacts such as PRD, SD, TP, CD, CR, QA, or U
21
21
  Use `../../meta/agdf-runtime-contract.md` for gate terms, closeout discipline, and non-duplication rules.
22
22
  The canonical gate order and transition model live only in the Runtime Contract. This skill evaluates the current state against that model; it must not maintain a second complete gate table.
23
23
 
24
- ## Native Control Path
24
+ ## Agent-Native Control Path
25
25
 
26
- AGDF is applied natively through this skill, the agent router, and live `.agdf/control/` state.
26
+ AGDF is agent-native first and CLI-verifiable by design.
27
+ This skill is the primary operating path for gate judgement.
27
28
 
28
29
  First inspect the durable control state directly:
29
30
 
@@ -33,18 +34,23 @@ First inspect the durable control state directly:
33
34
  - `.agdf/control/CONTEXT_GRAPH.md`
34
35
  - `.agdf/control/AGENT_QUALITY_CONTRACTS.json`
35
36
 
36
- Use the executable control path when a machine-readable check is requested, when the gate state is ambiguous, or when a repository-local automation needs JSON evidence:
37
+ If required control files are missing, do not automatically create a full `.agdf/control/` scaffold for a fresh small request.
38
+ The default first action is to draft the minimal UR in the response and request `Approval: UR`.
39
+ Use `init` only when the user explicitly asks for durable AGDF control state, the repository already uses `.agdf/control/` as its live working state, or a deterministic CLI/CI setup path is being executed.
40
+
41
+ Use the executable control path when a machine-readable check is requested, when the gate state is ambiguous, when CI or PR evidence is needed, or when a repository-local automation needs JSON output:
37
42
 
38
43
  ```bash
39
- npm create agdf@latest doctor --json
40
- npm create agdf@latest gate-check --json
41
- npm create agdf@latest delivery-map --json
44
+ npm create agdf@latest -- init
45
+ npx --yes create-agdf@latest doctor --json
46
+ npx --yes create-agdf@latest gate-check --json
47
+ npx --yes create-agdf@latest delivery-map --json
42
48
  ```
43
49
 
44
- `doctor` checks whether `.agdf/control/` is actionable. `gate-check` consumes that result and `AGDF_RUN.md` to report the operative process decision: `open | blocked`, current gate, blocking reason, missing approval, allowed outputs, forbidden outputs, next allowed action and evidence references.
50
+ `init` creates the control scaffold. `doctor` checks whether `.agdf/control/` is actionable. `gate-check` consumes that result and `AGDF_RUN.md` to report the operative process decision: `open | blocked`, current gate, blocking reason, missing approval, allowed outputs, forbidden outputs, next allowed action and evidence references.
45
51
  `delivery-map` reports the durable delivery picture: active artefacts, approvals, Artefact Chain relationships, evidence refs, missing evidence, risks, Context Graph gate effect and machine-readable findings.
46
52
 
47
- The CLI reports are validators and JSON evidence, not the primary user experience and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
53
+ The CLI reports are validators and JSON evidence, not the primary user experience, not a required ritual for normal work and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
48
54
 
49
55
  ## Rules
50
56
  1. Fail closed when a required approval or artefact status is missing.
@@ -61,7 +67,7 @@ The CLI reports are validators and JSON evidence, not the primary user experienc
61
67
  12. Approval text and durable artefact presence are separate requirements for UR, PRD, SD, TP and QA report decisions. Approval text without the corresponding persisted or linked artefact keeps the current gate at that gate.
62
68
  13. After Brownfield Review, decide the process size before drafting PRD or implementing: `quick_task | structured_slice | structured_delivery | block`.
63
69
  14. The Mode/Slice Decision must be visible and evidenced before any Quick Task execution, PRD shortcut or implementation. A decision value without scope reason and evidence is still missing.
64
- 15. Missing or incomplete control state must not push work back to the user. If the next allowed step is an artefact draft, the agent may initialize the scaffold, draft the current allowed artefact, link it, and then request the exact approval. Implementation remains forbidden.
70
+ 15. Missing or incomplete control state must not push setup work back to the user. For a fresh request, draft the current minimal artefact in the response and request the exact approval. Initialize or write `.agdf/control/` only when durable control state is explicitly requested, already live for the repository, or required for a deterministic CLI/CI setup path. Implementation remains forbidden.
65
71
 
66
72
  ## Gate Evaluation
67
73
 
@@ -108,7 +114,7 @@ If a status is not explicit, do not assume it is satisfied.
108
114
  8. Treat a generic "start", "continue" or "leg los" request as a request to perform only the current next allowed action.
109
115
  9. After Brownfield Review, choose the smallest safe process path before creating later artefacts.
110
116
  10. If the selected path is not visibly recorded with scope reason and evidence, keep the run at `Mode/Slice Decision`.
111
- 11. When `.agdf/control/` is missing or incomplete, make the next allowed artefact action explicit. For a fresh request, that means initialize control state, draft the minimal UR, then request `Approval: UR`.
117
+ 11. When `.agdf/control/` is missing or incomplete, make the next allowed artefact action explicit. For a fresh request, that means draft the minimal UR in the response, then request `Approval: UR`. Do not write a full control scaffold unless durable control state was explicitly requested or is already the repository's live AGDF working state.
112
118
 
113
119
  ## Output
114
120
  Keep the result short and operational:
@@ -120,6 +126,9 @@ Keep the result short and operational:
120
126
  - **Missing approval:** `Approval: <GateName> | none`
121
127
  - **Next step:** `<single permissible next step>`
122
128
 
129
+ If this skill creates or updates control artefacts, do not paste full file bodies into the chat.
130
+ List paths, summarize the decision, name the blocker or approval needed, and keep the durable content in the files.
131
+
123
132
  ## Forbidden
124
133
  This skill must not:
125
134
 
@@ -135,5 +144,6 @@ This skill must not:
135
144
  - treat "ok", "leg los", "go ahead", "approved" or similar wording as gate approval
136
145
  - perform full Brownfield Analysis unless explicitly requested
137
146
  - provide implementation snippets while implementation is gated
147
+ - paste full `.agdf/control/` files, templates or artefact bodies into the chat unless the user explicitly asks for the full content
138
148
  - present QA or UAT as passed without evidence
139
149
  - present release as allowed without QA pass and UAT approval where required
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "create-agdf",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Bootstrap AGDF repository-local plugin files, Copilot instructions, skills, control files and machine-readable checks.",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "bin",
8
8
  "generated",
9
- "README.md"
9
+ "README.md",
10
+ "NOTICE"
10
11
  ],
11
12
  "bin": {
12
13
  "create-agdf": "./bin/create-agdf.js"