create-agdf 0.3.1 → 0.3.4
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 +8 -13
- 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
|
|
11
|
-
npx --yes @agdf
|
|
12
|
-
npx --yes @agdf
|
|
13
|
-
npx --yes @agdf
|
|
14
|
-
npx --yes @agdf
|
|
15
|
-
npx --yes @agdf
|
|
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:
|
|
@@ -147,13 +147,8 @@ The routing test installs `both` into a temporary target repository and checks t
|
|
|
147
147
|
|
|
148
148
|
## Publishing
|
|
149
149
|
|
|
150
|
-
The repository publishes this package
|
|
151
|
-
|
|
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
|
-
|
|
154
|
-
- Create or update the version in `create-agdf/package.json`
|
|
155
|
-
- Push a matching git tag in the form `create-agdf-v<version>`
|
|
156
|
-
- Ensure the repository secret `NPM_TOKEN` exists with publish rights for `create-agdf`
|
|
150
|
+
The repository publishes this package and the primary user-facing `@agdf/cli` wrapper as one coupled AGDF release.
|
|
151
|
+
See the root `RELEASE.md` for the sequenced `agdf-v<version>` workflow and npm token requirements.
|
|
157
152
|
|
|
158
153
|
## Trademark Notice
|
|
159
154
|
|
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
|
|
129
|
-
npx --yes @agdf
|
|
130
|
-
npx --yes @agdf
|
|
131
|
-
npx --yes @agdf
|
|
132
|
-
npx --yes @agdf
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
65
|
-
npx --yes @agdf
|
|
66
|
-
npx --yes @agdf
|
|
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
|
|
45
|
-
npx --yes @agdf
|
|
46
|
-
npx --yes @agdf
|
|
47
|
-
npx --yes @agdf
|
|
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
|
|
50
|
-
npx --yes @agdf
|
|
51
|
-
npx --yes @agdf
|
|
52
|
-
npx --yes @agdf
|
|
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.4",
|
|
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
|
|
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
|
|
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
|
|
65
|
-
npx --yes @agdf
|
|
66
|
-
npx --yes @agdf
|
|
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
|
|
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
|
|
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.4",
|
|
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
|
|
45
|
-
npx --yes @agdf
|
|
46
|
-
npx --yes @agdf
|
|
47
|
-
npx --yes @agdf
|
|
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
|
|
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