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 +9 -7
- package/bin/create-agdf.js +11 -11
- package/generated/.agdf/control/README.md +5 -5
- package/generated/.github/skills/agdf-gate-check/SKILL.md +4 -4
- package/generated/.opencode/agents/agdf-gate-check.md +4 -4
- package/generated/plugins/agdf/.codex-plugin/plugin.json +12 -3
- package/generated/plugins/agdf/control/README.md +5 -5
- package/generated/plugins/agdf/hooks/session-start.sh +5 -2
- package/generated/plugins/agdf/meta/agdf-plugin.definition.json +12 -3
- package/generated/plugins/agdf/skills/gate-check/SKILL.md +4 -4
- package/opencode-plugin.js +1 -1
- package/package.json +1 -1
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
|
-
-
|
|
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
|
package/bin/create-agdf.js
CHANGED
|
@@ -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.
|
|
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": [
|
|
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": [
|
|
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.
|
|
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": [
|
|
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": [
|
|
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.
|
package/opencode-plugin.js
CHANGED
|
@@ -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