create-agdf 0.3.0 → 0.3.2

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/README.md CHANGED
@@ -7,12 +7,12 @@ Bootstrap AGDF repository instructions and a machine-checkable control loop for
7
7
  Preferred long-term CLI shape:
8
8
 
9
9
  ```bash
10
- npx --yes agdf@latest codex
11
- npx --yes agdf@latest opencode
12
- npx --yes agdf@latest init
13
- npx --yes agdf@latest config --language en
14
- npx --yes agdf@latest doctor
15
- npx --yes agdf@latest gate-check --json
10
+ npx --yes @agdf/cli@latest codex
11
+ npx --yes @agdf/cli@latest opencode
12
+ npx --yes @agdf/cli@latest init
13
+ npx --yes @agdf/cli@latest config --language en
14
+ npx --yes @agdf/cli@latest doctor
15
+ npx --yes @agdf/cli@latest gate-check --json
16
16
  ```
17
17
 
18
18
  Backward-compatible scaffold usage:
@@ -151,8 +151,10 @@ The repository publishes this package from `create-agdf/` via the GitHub Actions
151
151
 
152
152
  The primary user-facing CLI package is published separately from `agdf/` and delegates to this package through the shared `create-agdf/cli` export.
153
153
 
154
- - Create or update the version in `create-agdf/package.json`
154
+ - From the repository root, run `npm run set-version -- <version>`
155
+ - The version script updates the coupled package, plugin and site versions and refuses versions already published as `create-agdf` or `@agdf/cli`
155
156
  - Push a matching git tag in the form `create-agdf-v<version>`
157
+ - After `create-agdf` is published, push `agdf-cli-v<version>` for the primary CLI package
156
158
  - Ensure the repository secret `NPM_TOKEN` exists with publish rights for `create-agdf`
157
159
 
158
160
  ## Trademark Notice
@@ -125,11 +125,11 @@ function printUsage() {
125
125
  console.log(`create-agdf
126
126
 
127
127
  Preferred AGDF CLI:
128
- npx --yes agdf@latest codex
129
- npx --yes agdf@latest opencode
130
- npx --yes agdf@latest init
131
- npx --yes agdf@latest doctor
132
- npx --yes agdf@latest gate-check --json
128
+ npx --yes @agdf/cli@latest codex
129
+ npx --yes @agdf/cli@latest opencode
130
+ npx --yes @agdf/cli@latest init
131
+ npx --yes @agdf/cli@latest doctor
132
+ npx --yes @agdf/cli@latest gate-check --json
133
133
 
134
134
  Scaffold-compatible npm create usage:
135
135
  npm create agdf@latest -- codex
@@ -439,13 +439,13 @@ function printNextSteps(target, destination, files, wroteAgentsFragment, wroteOp
439
439
  }
440
440
  if (target === "init") {
441
441
  console.log("- Fill .agdf/control/AGDF_RUN.md with the current gate, evidence and next allowed action.");
442
- console.log("- Run npx --yes agdf@latest doctor to check the control state before the next agent run.");
442
+ console.log("- Run npx --yes @agdf/cli@latest doctor to check the control state before the next agent run.");
443
443
  console.log("- Commit the live control files once they represent the repository's current delivery state.");
444
444
  return;
445
445
  }
446
446
  if (target === "config") {
447
447
  console.log("- Restart or start a new agent session so the AGDF SessionStart hook reads the updated project language config.");
448
- console.log("- Run npx --yes agdf@latest doctor when this repository also uses durable AGDF control state.");
448
+ console.log("- Run npx --yes @agdf/cli@latest doctor when this repository also uses durable AGDF control state.");
449
449
  return;
450
450
  }
451
451
  if (wroteAgentsFragment) {
@@ -465,11 +465,11 @@ function printNextSteps(target, destination, files, wroteAgentsFragment, wroteOp
465
465
  console.log(`- OpenCode will install the ${pluginDefinition.opencode.npmPackage} npm plugin from opencode.json at startup.`);
466
466
  console.log("- Start OpenCode in this repository; it will load opencode.json, .opencode/AGDF.md and the AGDF subagents.");
467
467
  console.log("- Use @agdf-gate-check for new build/change intent or unclear approval before later artefacts or implementation.");
468
- console.log("- Run npx --yes agdf@latest init when the repository needs live AGDF control files.");
468
+ console.log("- Run npx --yes @agdf/cli@latest init when the repository needs live AGDF control files.");
469
469
  }
470
470
  if (target === "copilot" || target === "both") {
471
471
  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.");
472
- console.log("- Run npx --yes agdf@latest init when the repository needs live AGDF control files.");
472
+ console.log("- Run npx --yes @agdf/cli@latest init when the repository needs live AGDF control files.");
473
473
  }
474
474
  console.log("- Commit the generated files so the repository becomes the source of truth.");
475
475
  }
@@ -573,7 +573,7 @@ function evaluateDoctor(targetDir) {
573
573
  ? "Live control file is missing; only the template exists."
574
574
  : "Required live control file is missing.",
575
575
  relativePath,
576
- "Run npx --yes agdf@latest init only when the repository should own durable AGDF control state or deterministic setup is explicitly needed.",
576
+ "Run npx --yes @agdf/cli@latest init only when the repository should own durable AGDF control state or deterministic setup is explicitly needed.",
577
577
  );
578
578
  }
579
579
 
@@ -1188,7 +1188,7 @@ function evaluateGateCheck(targetDir) {
1188
1188
  allowed = [
1189
1189
  "draft the minimal UR for the requested change in the response",
1190
1190
  "request exact approval: Approval: UR",
1191
- "run npx --yes agdf@latest init only when durable control state or deterministic setup is explicitly needed",
1191
+ "run npx --yes @agdf/cli@latest init only when durable control state or deterministic setup is explicitly needed",
1192
1192
  ];
1193
1193
  forbidden = ["create PRD", "create SD", "create TP", "run Brownfield Analysis", "implement code", "claim QA or release readiness"];
1194
1194
  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.";
@@ -49,21 +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
- npx --yes agdf@latest init
52
+ npx --yes @agdf/cli@latest init
53
53
  ```
54
54
 
55
55
  If only the project language preference is missing or should change after plugin installation, write just the config file:
56
56
 
57
57
  ```bash
58
- npx --yes agdf@latest config --language en
58
+ npx --yes @agdf/cli@latest config --language en
59
59
  ```
60
60
 
61
61
  Then check whether the live state is actionable:
62
62
 
63
63
  ```bash
64
- npx --yes agdf@latest doctor
65
- npx --yes agdf@latest doctor --json
66
- npx --yes agdf@latest gate-check --json
64
+ npx --yes @agdf/cli@latest doctor
65
+ npx --yes @agdf/cli@latest doctor --json
66
+ npx --yes @agdf/cli@latest gate-check --json
67
67
  ```
68
68
 
69
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.
@@ -41,10 +41,10 @@ Use `init` only when the user explicitly asks for durable AGDF control state, th
41
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:
42
42
 
43
43
  ```bash
44
- npx --yes agdf@latest init
45
- npx --yes agdf@latest doctor --json
46
- npx --yes agdf@latest gate-check --json
47
- npx --yes agdf@latest delivery-map --json
44
+ npx --yes @agdf/cli@latest init
45
+ npx --yes @agdf/cli@latest doctor --json
46
+ npx --yes @agdf/cli@latest gate-check --json
47
+ npx --yes @agdf/cli@latest delivery-map --json
48
48
  ```
49
49
 
50
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.
@@ -46,10 +46,10 @@ Use `init` only when the user explicitly asks for durable AGDF control state, th
46
46
  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:
47
47
 
48
48
  ```bash
49
- npx --yes agdf@latest init
50
- npx --yes agdf@latest doctor --json
51
- npx --yes agdf@latest gate-check --json
52
- npx --yes agdf@latest delivery-map --json
49
+ npx --yes @agdf/cli@latest init
50
+ npx --yes @agdf/cli@latest doctor --json
51
+ npx --yes @agdf/cli@latest gate-check --json
52
+ npx --yes @agdf/cli@latest delivery-map --json
53
53
  ```
54
54
 
55
55
  `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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agdf",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
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",
@@ -9,7 +9,13 @@
9
9
  "homepage": "https://agdf.iself.eu",
10
10
  "repository": "https://github.com/arndtgold/ai-native-governance-delivery-framework",
11
11
  "license": "Apache-2.0",
12
- "keywords": ["agentic", "governance", "delivery", "ai-native", "brownfield"],
12
+ "keywords": [
13
+ "agentic",
14
+ "governance",
15
+ "delivery",
16
+ "ai-native",
17
+ "brownfield"
18
+ ],
13
19
  "skills": "./skills/",
14
20
  "hooks": "./hooks/hooks.json",
15
21
  "interface": {
@@ -18,7 +24,10 @@
18
24
  "longDescription": "AI Governance & Delivery Framework (AGDF) packages reusable Codex-first skills, control templates and machine-readable repository checks for gate decisions, Brownfield analysis, task-plan review, solution-integrity review, QA decisions, durable run state and auditable delivery closeout.",
19
25
  "developerName": "AI-native Governance & Delivery Framework",
20
26
  "category": "Productivity",
21
- "capabilities": ["Read", "Write"],
27
+ "capabilities": [
28
+ "Read",
29
+ "Write"
30
+ ],
22
31
  "websiteURL": "https://agdf.iself.eu",
23
32
  "composerIcon": "./assets/agdf-icon.svg",
24
33
  "logo": "./assets/agdf-logo.svg",
@@ -49,21 +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
- npx --yes agdf@latest init
52
+ npx --yes @agdf/cli@latest init
53
53
  ```
54
54
 
55
55
  If only the project language preference is missing or should change after plugin installation, write just the config file:
56
56
 
57
57
  ```bash
58
- npx --yes agdf@latest config --language en
58
+ npx --yes @agdf/cli@latest config --language en
59
59
  ```
60
60
 
61
61
  Then check whether the live state is actionable:
62
62
 
63
63
  ```bash
64
- npx --yes agdf@latest doctor
65
- npx --yes agdf@latest doctor --json
66
- npx --yes agdf@latest gate-check --json
64
+ npx --yes @agdf/cli@latest doctor
65
+ npx --yes @agdf/cli@latest doctor --json
66
+ npx --yes @agdf/cli@latest gate-check --json
67
67
  ```
68
68
 
69
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.
@@ -8,7 +8,7 @@ ROUTER="${META_DIR}/agdf-agent-router.md"
8
8
  CONSTITUTION="${META_DIR}/agdf-constitution.md"
9
9
  CONFIG_PATH="${PWD}/.agdf/control/config.json"
10
10
 
11
- CONFIG_HINT="Project config: .agdf/control/config.json not found. Use npx --yes agdf@latest config --language de|en to persist the project language."
11
+ CONFIG_HINT="Project config: .agdf/control/config.json not found. Use npx --yes @agdf/cli@latest config --language de|en to persist the project language."
12
12
  if [[ -f "${CONFIG_PATH}" ]]; then
13
13
  CONFIG_HINT="$(CONFIG_PATH="${CONFIG_PATH}" node <<'NODE' 2>/dev/null || true
14
14
  const fs = require("node:fs");
@@ -19,8 +19,11 @@ try {
19
19
  const chat = config.chat_language || "unset";
20
20
  const runtime = config.runtime_language || "en";
21
21
  console.log(`Project config: .agdf/control/config.json (artefacts=${artefacts}, chat=${chat}, runtime=${runtime}).`);
22
+ if (artefacts !== "unset" || chat !== "unset") {
23
+ console.log(`Language policy: write durable AGDF artefacts in ${artefacts} and user-facing responses in ${chat} unless the user explicitly asks otherwise. Runtime rules stay ${runtime}.`);
24
+ }
22
25
  } catch {
23
- console.log("Project config: .agdf/control/config.json exists but is not valid JSON. Run npx --yes agdf@latest doctor.");
26
+ console.log("Project config: .agdf/control/config.json exists but is not valid JSON. Run npx --yes @agdf/cli@latest doctor.");
24
27
  }
25
28
  NODE
26
29
  )"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "id": "agdf",
4
- "version": "0.3.0",
4
+ "version": "0.3.2",
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.",
@@ -11,7 +11,13 @@
11
11
  "homepage": "https://agdf.iself.eu",
12
12
  "repository": "https://github.com/arndtgold/ai-native-governance-delivery-framework",
13
13
  "license": "Apache-2.0",
14
- "keywords": ["agentic", "governance", "delivery", "ai-native", "brownfield"],
14
+ "keywords": [
15
+ "agentic",
16
+ "governance",
17
+ "delivery",
18
+ "ai-native",
19
+ "brownfield"
20
+ ],
15
21
  "category": "Productivity",
16
22
  "brandColor": "#14B8A6",
17
23
  "author": {
@@ -24,7 +30,10 @@
24
30
  "agentRouter": "meta/agdf-agent-router.md",
25
31
  "composerIcon": "./assets/agdf-icon.svg",
26
32
  "logo": "./assets/agdf-logo.svg",
27
- "capabilities": ["Read", "Write"],
33
+ "capabilities": [
34
+ "Read",
35
+ "Write"
36
+ ],
28
37
  "defaultPrompt": [
29
38
  "Run an AGDF gate check for this request.",
30
39
  "Create an AGDF control scaffold for this repository.",
@@ -41,10 +41,10 @@ Use `init` only when the user explicitly asks for durable AGDF control state, th
41
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:
42
42
 
43
43
  ```bash
44
- npx --yes agdf@latest init
45
- npx --yes agdf@latest doctor --json
46
- npx --yes agdf@latest gate-check --json
47
- npx --yes agdf@latest delivery-map --json
44
+ npx --yes @agdf/cli@latest init
45
+ npx --yes @agdf/cli@latest doctor --json
46
+ npx --yes @agdf/cli@latest gate-check --json
47
+ npx --yes @agdf/cli@latest delivery-map --json
48
48
  ```
49
49
 
50
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.
@@ -24,7 +24,7 @@ export const AGDFPlugin = async ({ directory, client }) => {
24
24
  "## AGDF Runtime Reminder",
25
25
  "Use `.opencode/AGDF.md`, `.opencode/agents/` and `.agdf/control/` as the AGDF source for this OpenCode session.",
26
26
  "For new build/change intent or unclear approval, route first to `agdf-gate-check` before later artefacts or implementation.",
27
- "Use `npx --yes agdf@latest gate-check --json` only as deterministic proof, not as a replacement for AGDF judgement.",
27
+ "Use `npx --yes @agdf/cli@latest gate-check --json` only as deterministic proof, not as a replacement for AGDF judgement.",
28
28
  ].join("\n"));
29
29
  },
30
30
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-agdf",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Bootstrap AGDF repository-local plugin files, Copilot/OpenCode instructions, skills, control files and machine-readable checks.",
5
5
  "type": "module",
6
6
  "files": [