create-agdf 0.2.8 → 0.3.0
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 +27 -0
- package/bin/create-agdf.js +63 -10
- package/generated/.agdf/control/README.md +5 -5
- package/generated/.github/skills/agdf-gate-check/SKILL.md +4 -4
- package/generated/.opencode/AGDF.md +102 -0
- package/generated/.opencode/README.md +19 -0
- package/generated/.opencode/agdf-runtime-contract.md +219 -0
- package/generated/.opencode/agents/agdf-brownfield-analysis.md +142 -0
- package/generated/.opencode/agents/agdf-clean-implementation-review.md +106 -0
- package/generated/.opencode/agents/agdf-code-review.md +100 -0
- package/generated/.opencode/agents/agdf-delivery-closeout.md +115 -0
- package/generated/.opencode/agents/agdf-gate-check.md +155 -0
- package/generated/.opencode/agents/agdf-qa-gate.md +116 -0
- package/generated/.opencode/agents/agdf-release-or.md +130 -0
- package/generated/.opencode/agents/agdf-task-plan-review.md +121 -0
- package/generated/opencode.json +13 -0
- package/generated/plugins/agdf/.codex-plugin/plugin.json +3 -1
- package/generated/plugins/agdf/assets/agdf-icon.svg +16 -0
- package/generated/plugins/agdf/assets/agdf-logo.svg +16 -0
- package/generated/plugins/agdf/control/README.md +5 -5
- package/generated/plugins/agdf/hooks/session-start.sh +2 -2
- package/generated/plugins/agdf/meta/agdf-plugin.definition.json +13 -1
- package/generated/plugins/agdf/skills/gate-check/SKILL.md +4 -4
- package/opencode-plugin.js +33 -0
- package/package.json +9 -2
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: final QA decision
|
|
3
|
+
mode: subagent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
name: agdf-qa-gate
|
|
8
|
+
description: Use this skill before any QA decision to determine whether implementation can be classified as pass, revise, or block based on TP coverage, Brownfield fit, solution integrity, evidence, and open blockers. Use it after CD+Tests, after reviews, and before UAT or release decisions.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# qa-gate
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
Make the formal QA gate decision.
|
|
15
|
+
|
|
16
|
+
This skill is the only final QA decision point for `pass | revise | block`.
|
|
17
|
+
|
|
18
|
+
It answers:
|
|
19
|
+
|
|
20
|
+
- whether `QA pass` is allowed
|
|
21
|
+
- whether the implementation must be revised
|
|
22
|
+
- whether a hard blocker remains
|
|
23
|
+
- whether relevant TP tasks are sufficiently verified
|
|
24
|
+
- whether P0/P1 tasks are complete
|
|
25
|
+
- whether Brownfield fit is sufficient
|
|
26
|
+
- whether solution integrity is sufficient
|
|
27
|
+
- whether blockers, critical risks, or missing evidence remain
|
|
28
|
+
|
|
29
|
+
## Runtime Contract
|
|
30
|
+
Use `../agdf-runtime-contract.md` for Quality Contract output, Context Graph fields, gate terms, and non-duplication rules.
|
|
31
|
+
|
|
32
|
+
QA-specific `decision` is exactly `pass | revise | block`.
|
|
33
|
+
`pass` is allowed only when TP coverage, Brownfield fit, solution integrity, and relevant documentation/Context Graph impact are sufficiently evidenced.
|
|
34
|
+
`sot_drift` must not pass silently as a warning.
|
|
35
|
+
|
|
36
|
+
## Rules
|
|
37
|
+
1. No QA pass without strong evidence.
|
|
38
|
+
2. TP is the reference, not merely working code.
|
|
39
|
+
3. P0/P1 gaps block `pass`.
|
|
40
|
+
4. Brownfield fit is mandatory.
|
|
41
|
+
5. UI surface integrity is mandatory for UI-impacting changes.
|
|
42
|
+
6. Solution integrity is mandatory.
|
|
43
|
+
7. Always output exactly one decision: `pass`, `revise`, or `block`.
|
|
44
|
+
8. Open risks, missing tests, partial TP coverage, or side effects must be visible.
|
|
45
|
+
|
|
46
|
+
## When To Use
|
|
47
|
+
- after `CD+Tests`
|
|
48
|
+
- after `agdf-code-review`
|
|
49
|
+
- after `agdf-task-plan-review`
|
|
50
|
+
- after `agdf-clean-implementation-review`
|
|
51
|
+
- before UAT
|
|
52
|
+
- before any claim that implementation is done, releasable, or QA-ready
|
|
53
|
+
- when evidence from Brownfield, TP, or clean-review skills exists
|
|
54
|
+
|
|
55
|
+
Important:
|
|
56
|
+
|
|
57
|
+
- `CD+Tests` is implementation and test status only.
|
|
58
|
+
- Without review evidence and TP coverage, `QA pass` is not allowed.
|
|
59
|
+
|
|
60
|
+
## Inputs
|
|
61
|
+
Use what is available:
|
|
62
|
+
|
|
63
|
+
- approved TP and TP Review
|
|
64
|
+
- Brownfield Analysis
|
|
65
|
+
- Clean Implementation Review
|
|
66
|
+
- `agdf-code-review` or Code Review Report
|
|
67
|
+
- test/build results
|
|
68
|
+
- documentation impact review
|
|
69
|
+
- runtime or UI evidence
|
|
70
|
+
- known blockers and risks
|
|
71
|
+
|
|
72
|
+
If evidence is missing, lower the decision accordingly.
|
|
73
|
+
|
|
74
|
+
## Workflow
|
|
75
|
+
1. Confirm the relevant gate context.
|
|
76
|
+
2. Verify TP coverage.
|
|
77
|
+
3. Verify P0/P1 completion.
|
|
78
|
+
4. Verify Brownfield fit.
|
|
79
|
+
5. Verify solution integrity.
|
|
80
|
+
6. Verify tests and evidence strength.
|
|
81
|
+
7. Verify documentation and Context Graph impact if relevant.
|
|
82
|
+
8. Decide:
|
|
83
|
+
- `pass`
|
|
84
|
+
- `revise`
|
|
85
|
+
- `block`
|
|
86
|
+
9. State the single required next step.
|
|
87
|
+
|
|
88
|
+
## Output
|
|
89
|
+
Use this shape:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
## QA Gate
|
|
93
|
+
- decision: pass | revise | block
|
|
94
|
+
- evidence:
|
|
95
|
+
- missing_evidence:
|
|
96
|
+
- risks:
|
|
97
|
+
- required_next_step:
|
|
98
|
+
- impact_codes:
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
If Context Graph impact is relevant, include the fields from `../agdf-runtime-contract.md`.
|
|
102
|
+
|
|
103
|
+
## Decision Guidance
|
|
104
|
+
- `pass`: required TP tasks are done, evidence is strong, no blocking Brownfield or solution-integrity risk remains.
|
|
105
|
+
- `revise`: implementation is plausible but missing evidence, partial tasks, UX gaps, or fixable integrity issues remain.
|
|
106
|
+
- `block`: hard prerequisite, approval, product semantics, security/compliance, SoT drift, or critical behaviour is unresolved.
|
|
107
|
+
|
|
108
|
+
## Forbidden
|
|
109
|
+
This skill must not:
|
|
110
|
+
|
|
111
|
+
- grant QA pass from a green build alone
|
|
112
|
+
- hide partial task completion
|
|
113
|
+
- replace UAT
|
|
114
|
+
- treat missing reviews as completed
|
|
115
|
+
- downgrade SoT drift to harmless warning
|
|
116
|
+
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: auditable closeout for every relevant run
|
|
3
|
+
mode: subagent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
name: agdf-release-or
|
|
8
|
+
description: Use this skill at the end of every relevant run to produce a compact, auditable Orchestration Report. It summarizes gate status, delivered and intentionally not delivered work, TP coverage, Brownfield fit, solution integrity, open risks, and the next permissible step.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# release-or
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
Produce the Orchestration Report (OR) as the mandatory closeout for a relevant run.
|
|
15
|
+
|
|
16
|
+
It reports:
|
|
17
|
+
|
|
18
|
+
- current user gate
|
|
19
|
+
- whether the run is `pass`, `revise`, `block`, or not yet QA-decided
|
|
20
|
+
- what was delivered
|
|
21
|
+
- what was intentionally not delivered
|
|
22
|
+
- missing approvals
|
|
23
|
+
- TP coverage status
|
|
24
|
+
- Brownfield fit
|
|
25
|
+
- solution integrity
|
|
26
|
+
- documentation impact
|
|
27
|
+
- Context Graph impact
|
|
28
|
+
- open risks, blockers, retained fallbacks, and exit criteria
|
|
29
|
+
- next permissible step
|
|
30
|
+
- whether further quality follow-up or a separate delivery closeout is useful
|
|
31
|
+
|
|
32
|
+
## Runtime Contract
|
|
33
|
+
Use `../agdf-runtime-contract.md` for Quality Contract output, Context Graph fields, gate terms, and non-duplication rules.
|
|
34
|
+
|
|
35
|
+
OR-specific output must make gate status, delivered and intentionally not delivered content, missing approvals, missing evidence, risks, retained fallbacks, and the next permissible step visible.
|
|
36
|
+
When `.agdf/control/` is present, persist or link the OR under `.agdf/control/artefacts/<key>/OR.md` and reference it from `AGDF_RUN.md` or `MASTER_BACKLOG.md` when it is steering-relevant.
|
|
37
|
+
Use the Runtime Contract definition of `Relevant Run` to decide whether OR is mandatory or whether a Quick Task mini-closeout is enough.
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
1. OR is always allowed and mandatory for relevant runs as defined in the Runtime Contract.
|
|
41
|
+
2. OR is an audit report, not a blocking gate.
|
|
42
|
+
3. Do not leak artefacts from blocked later gates.
|
|
43
|
+
4. Use OR-lite when early gates block.
|
|
44
|
+
5. Use OR-full only within the allowed scope.
|
|
45
|
+
6. Report status, not marketing language.
|
|
46
|
+
7. Name missing approvals, partial implementation, risks, fallbacks, Brownfield issues, and open defects.
|
|
47
|
+
8. Retained fallbacks require visible exit criteria and cleanup path.
|
|
48
|
+
9. End with the immediately permissible next step.
|
|
49
|
+
10. `CD+Tests` is not completion.
|
|
50
|
+
|
|
51
|
+
## When To Use
|
|
52
|
+
- at the end of every relevant run
|
|
53
|
+
- after artefact creation
|
|
54
|
+
- when a gate blocks
|
|
55
|
+
- after `CD+Tests`
|
|
56
|
+
- after `agdf-code-review`
|
|
57
|
+
- after QA
|
|
58
|
+
- after UAT
|
|
59
|
+
- whenever a compact audit closeout is needed
|
|
60
|
+
|
|
61
|
+
Do not force OR onto a pure explanation, read-only inspection, small review, or local debugging step that produces no durable state change and no gate consequence.
|
|
62
|
+
|
|
63
|
+
## Inputs
|
|
64
|
+
Use what is available:
|
|
65
|
+
|
|
66
|
+
- current gate
|
|
67
|
+
- existing approvals
|
|
68
|
+
- artefacts created in this run
|
|
69
|
+
- intentionally not delivered content
|
|
70
|
+
- Task Plan
|
|
71
|
+
- `agdf-task-plan-review`
|
|
72
|
+
- `agdf-brownfield-analysis`
|
|
73
|
+
- `agdf-clean-implementation-review`
|
|
74
|
+
- `agdf-code-review`
|
|
75
|
+
- QA Report
|
|
76
|
+
- UAT Report
|
|
77
|
+
- documentation impact review
|
|
78
|
+
- Context Graph impact
|
|
79
|
+
- known risks, defects, fallbacks, and open questions
|
|
80
|
+
- test/build status and relevant metrics
|
|
81
|
+
|
|
82
|
+
If information is missing, state the gap instead of guessing.
|
|
83
|
+
|
|
84
|
+
## Workflow
|
|
85
|
+
1. Determine the current gate and earliest blocker.
|
|
86
|
+
2. Determine report depth:
|
|
87
|
+
- `OR-lite`: gate status, allowed/forbidden outputs, missing approval, next step
|
|
88
|
+
- `OR-full`: also delivered artefacts, TP coverage, Brownfield fit, solution integrity, risks, fallbacks, QA/UAT status
|
|
89
|
+
3. Record the selected `Report mode` and durable OR target or link when `.agdf/control/` exists.
|
|
90
|
+
4. Record delivered vs intentionally not delivered content.
|
|
91
|
+
5. Summarize TP coverage if a TP exists.
|
|
92
|
+
6. Summarize Brownfield fit and solution integrity if reviewed.
|
|
93
|
+
7. Summarize tests and verification.
|
|
94
|
+
8. Summarize documentation and Context Graph impact if relevant.
|
|
95
|
+
9. Name retained fallbacks and exit criteria.
|
|
96
|
+
10. Set exactly one next permissible step.
|
|
97
|
+
11. Set exactly one quality outlook.
|
|
98
|
+
12. State whether `agdf-delivery-closeout` is the next operational handoff step when code changes exist and the delivery state allows it.
|
|
99
|
+
|
|
100
|
+
## Output
|
|
101
|
+
Use a compact structure:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
## OR
|
|
105
|
+
- gate:
|
|
106
|
+
- report_mode:
|
|
107
|
+
- artefact:
|
|
108
|
+
- status:
|
|
109
|
+
- delivered:
|
|
110
|
+
- intentionally_not_delivered:
|
|
111
|
+
- evidence:
|
|
112
|
+
- missing_evidence:
|
|
113
|
+
- risks:
|
|
114
|
+
- retained_fallbacks:
|
|
115
|
+
- required_next_step:
|
|
116
|
+
- quality_outlook:
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
When Context Graph impact is relevant, include the fields from `../agdf-runtime-contract.md`.
|
|
120
|
+
|
|
121
|
+
## Forbidden
|
|
122
|
+
This skill must not:
|
|
123
|
+
|
|
124
|
+
- decide QA in place of `agdf-qa-gate`
|
|
125
|
+
- call `CD+Tests` complete, QA-ready, or release-ready
|
|
126
|
+
- hide missing approvals
|
|
127
|
+
- provide later-gate content while an earlier gate blocks
|
|
128
|
+
- produce the operative commit/PR handoff owned by `agdf-delivery-closeout`
|
|
129
|
+
- execute commit, push, or PR actions
|
|
130
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: after implementation and before QA, verify TP coverage
|
|
3
|
+
mode: subagent
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
name: agdf-task-plan-review
|
|
8
|
+
description: Use this skill after code changes and before QA to verify whether the approved Task Plan was actually fulfilled. It checks each task_id against implementation, acceptance criteria, tests, visible evidence, and deviations, and provides TP coverage for QA.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# task-plan-review
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
Verify whether implementation actually satisfies the approved Task Plan.
|
|
15
|
+
|
|
16
|
+
For each relevant task, this skill determines:
|
|
17
|
+
|
|
18
|
+
- whether the task is fully, partially, or not completed
|
|
19
|
+
- which acceptance criteria are done, partial, missing, or not verifiable
|
|
20
|
+
- which files, tests, runtime evidence, or UI evidence support the finding
|
|
21
|
+
- evidence strength
|
|
22
|
+
- which gaps must be handed to `agdf-qa-gate`
|
|
23
|
+
|
|
24
|
+
This skill provides TP coverage. It is not the final QA decision.
|
|
25
|
+
|
|
26
|
+
## Runtime Contract
|
|
27
|
+
Use `../agdf-runtime-contract.md` for Quality Contract output, Context Graph fields, gate terms, and non-duplication rules.
|
|
28
|
+
|
|
29
|
+
TP-specific output must evaluate every relevant `task_id` with completion status, AC coverage, evidence, missing evidence, and QA-relevant gaps.
|
|
30
|
+
If `context_graph_required_action` is not `none`, the affected task is complete only if follow-up, evidence, or an intentionally open gap is visible.
|
|
31
|
+
|
|
32
|
+
## Rules
|
|
33
|
+
1. The Task Plan is the reference, not plausible code.
|
|
34
|
+
2. No assumptions without evidence.
|
|
35
|
+
3. Evaluate each relevant `task_id` individually.
|
|
36
|
+
4. `fully_done` requires strong evidence.
|
|
37
|
+
5. A green build alone does not prove TP completion.
|
|
38
|
+
6. UI/state/render/recovery tasks need visible evidence, not only code.
|
|
39
|
+
7. Partial implementation must be marked `partially_done`.
|
|
40
|
+
8. P0/P1 gaps must be handed to QA.
|
|
41
|
+
9. Out-of-scope changes must be reported.
|
|
42
|
+
10. When evidence is unclear, fail closed to at least `partially_done`.
|
|
43
|
+
|
|
44
|
+
## Clarifications
|
|
45
|
+
### TP Slice Before Target State
|
|
46
|
+
If the TP explicitly defines a preparatory, additive, or limited slice, evaluate that exact scope.
|
|
47
|
+
`fully_done` is allowed for a completed slice even if the larger target state remains open.
|
|
48
|
+
|
|
49
|
+
### Missing Priorities
|
|
50
|
+
If no priorities are defined, do not invent them. Mark the gap and treat QA relevance conservatively.
|
|
51
|
+
|
|
52
|
+
### Missing Acceptance Criteria
|
|
53
|
+
If ACs are unclear, derive only obvious expectations from title, goal, and scope. Mark AC basis as incomplete and lower evidence confidence as needed.
|
|
54
|
+
|
|
55
|
+
## When To Use
|
|
56
|
+
- after `CD+Tests`
|
|
57
|
+
- before `QA`
|
|
58
|
+
- when TP completion is unclear
|
|
59
|
+
- when the user asks for TP fulfilment
|
|
60
|
+
- when UI/state/runtime invariants are affected
|
|
61
|
+
- when several agents or work steps touched the same TP
|
|
62
|
+
|
|
63
|
+
## Inputs
|
|
64
|
+
Use what is available:
|
|
65
|
+
|
|
66
|
+
- Task Plan
|
|
67
|
+
- `task_id`, `story_id`, priorities
|
|
68
|
+
- acceptance criteria or success goals
|
|
69
|
+
- changed files
|
|
70
|
+
- tests and test results
|
|
71
|
+
- build results
|
|
72
|
+
- runtime/UI evidence
|
|
73
|
+
- known deviations and scope decisions
|
|
74
|
+
|
|
75
|
+
If TP or relevant tasks are missing, do not claim reliable TP coverage.
|
|
76
|
+
|
|
77
|
+
## Output
|
|
78
|
+
Use this compact structure:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
## TP Coverage
|
|
82
|
+
| task_id | status | evidence | missing_evidence | QA impact |
|
|
83
|
+
|---|---|---|---|---|
|
|
84
|
+
|
|
85
|
+
## Summary
|
|
86
|
+
- fully_done:
|
|
87
|
+
- partially_done:
|
|
88
|
+
- not_done:
|
|
89
|
+
- out_of_scope_changes:
|
|
90
|
+
- risks:
|
|
91
|
+
- required_next_step:
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Completion status:
|
|
95
|
+
|
|
96
|
+
- `fully_done`
|
|
97
|
+
- `partially_done`
|
|
98
|
+
- `not_done`
|
|
99
|
+
|
|
100
|
+
AC status:
|
|
101
|
+
|
|
102
|
+
- `done`
|
|
103
|
+
- `partial`
|
|
104
|
+
- `missing`
|
|
105
|
+
- `not_verifiable`
|
|
106
|
+
|
|
107
|
+
Evidence confidence:
|
|
108
|
+
|
|
109
|
+
- `high`
|
|
110
|
+
- `medium`
|
|
111
|
+
- `low`
|
|
112
|
+
|
|
113
|
+
## Forbidden
|
|
114
|
+
This skill must not:
|
|
115
|
+
|
|
116
|
+
- decide final QA
|
|
117
|
+
- mark tasks fully done from code existence alone
|
|
118
|
+
- hide partial work
|
|
119
|
+
- upgrade missing evidence into confidence
|
|
120
|
+
- reinterpret the TP scope
|
|
121
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agdf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
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",
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
"category": "Productivity",
|
|
21
21
|
"capabilities": ["Read", "Write"],
|
|
22
22
|
"websiteURL": "https://agdf.iself.eu",
|
|
23
|
+
"composerIcon": "./assets/agdf-icon.svg",
|
|
24
|
+
"logo": "./assets/agdf-logo.svg",
|
|
23
25
|
"defaultPrompt": [
|
|
24
26
|
"Run an AGDF gate check for this request.",
|
|
25
27
|
"Create an AGDF control scaffold for this repository.",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="AGDF">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="agdf-bg" x1="10" y1="6" x2="54" y2="58" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0" stop-color="#0F766E"/>
|
|
5
|
+
<stop offset="1" stop-color="#2563EB"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="64" height="64" rx="14" fill="#06131F"/>
|
|
9
|
+
<rect x="4" y="4" width="56" height="56" rx="12" fill="url(#agdf-bg)"/>
|
|
10
|
+
<path d="M32 10.5 50 21v22L32 53.5 14 43V21L32 10.5Z" fill="none" stroke="#ECFEFF" stroke-width="5" stroke-linejoin="round"/>
|
|
11
|
+
<path d="M32 21v13m0 0-10 6m10-6 10 6" fill="none" stroke="#ECFEFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
|
+
<circle cx="32" cy="21" r="5.3" fill="#ECFEFF"/>
|
|
13
|
+
<circle cx="32" cy="34" r="5.6" fill="#ECFEFF"/>
|
|
14
|
+
<circle cx="22" cy="40" r="5.3" fill="#ECFEFF"/>
|
|
15
|
+
<circle cx="42" cy="40" r="5.3" fill="#ECFEFF"/>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="AGDF">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="agdf-logo-bg" x1="80" y1="48" x2="432" y2="464" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0" stop-color="#0F766E"/>
|
|
5
|
+
<stop offset="1" stop-color="#2563EB"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="512" height="512" rx="112" fill="#06131F"/>
|
|
9
|
+
<rect x="32" y="32" width="448" height="448" rx="96" fill="url(#agdf-logo-bg)"/>
|
|
10
|
+
<path d="M256 84 400 168v176L256 428 112 344V168L256 84Z" fill="none" stroke="#ECFEFF" stroke-width="40" stroke-linejoin="round"/>
|
|
11
|
+
<path d="M256 168v104m0 0-80 48m80-48 80 48" fill="none" stroke="#ECFEFF" stroke-width="32" stroke-linecap="round" stroke-linejoin="round"/>
|
|
12
|
+
<circle cx="256" cy="168" r="42" fill="#ECFEFF"/>
|
|
13
|
+
<circle cx="256" cy="272" r="45" fill="#ECFEFF"/>
|
|
14
|
+
<circle cx="176" cy="320" r="42" fill="#ECFEFF"/>
|
|
15
|
+
<circle cx="336" cy="320" r="42" fill="#ECFEFF"/>
|
|
16
|
+
</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
|
-
|
|
52
|
+
npx --yes agdf@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
|
-
|
|
58
|
+
npx --yes agdf@latest config --language en
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Then check whether the live state is actionable:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
|
|
65
|
-
npx --yes
|
|
66
|
-
npx --yes
|
|
64
|
+
npx --yes agdf@latest doctor
|
|
65
|
+
npx --yes agdf@latest doctor --json
|
|
66
|
+
npx --yes agdf@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
|
|
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."
|
|
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");
|
|
@@ -20,7 +20,7 @@ try {
|
|
|
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
22
|
} catch {
|
|
23
|
-
console.log("Project config: .agdf/control/config.json exists but is not valid JSON. Run
|
|
23
|
+
console.log("Project config: .agdf/control/config.json exists but is not valid JSON. Run npx --yes agdf@latest doctor.");
|
|
24
24
|
}
|
|
25
25
|
NODE
|
|
26
26
|
)"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"id": "agdf",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
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.",
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
"skills": "./skills/",
|
|
23
23
|
"skillPrefix": "",
|
|
24
24
|
"agentRouter": "meta/agdf-agent-router.md",
|
|
25
|
+
"composerIcon": "./assets/agdf-icon.svg",
|
|
26
|
+
"logo": "./assets/agdf-logo.svg",
|
|
25
27
|
"capabilities": ["Read", "Write"],
|
|
26
28
|
"defaultPrompt": [
|
|
27
29
|
"Run an AGDF gate check for this request.",
|
|
@@ -39,6 +41,16 @@
|
|
|
39
41
|
"skillPrefix": "agdf-",
|
|
40
42
|
"runtimeContractFileName": "agdf-runtime-contract.md"
|
|
41
43
|
},
|
|
44
|
+
"opencode": {
|
|
45
|
+
"skillPrefix": "agdf-",
|
|
46
|
+
"runtimeContractFileName": "agdf-runtime-contract.md",
|
|
47
|
+
"instructionsFileName": "AGDF.md",
|
|
48
|
+
"npmPackage": "create-agdf",
|
|
49
|
+
"permissions": {
|
|
50
|
+
"edit": "ask",
|
|
51
|
+
"bash": "ask"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
42
54
|
"skillSet": [
|
|
43
55
|
{
|
|
44
56
|
"slug": "brownfield-analysis",
|
|
@@ -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
|
-
|
|
45
|
-
npx --yes
|
|
46
|
-
npx --yes
|
|
47
|
-
npx --yes
|
|
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
|
|
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.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const AGDFPlugin = async ({ directory, client }) => {
|
|
2
|
+
const controlDir = `${directory}/.agdf/control`;
|
|
3
|
+
|
|
4
|
+
return {
|
|
5
|
+
event: async ({ event }) => {
|
|
6
|
+
if (event?.type === "session.created") {
|
|
7
|
+
await client.app.log({
|
|
8
|
+
body: {
|
|
9
|
+
service: "agdf",
|
|
10
|
+
level: "info",
|
|
11
|
+
message: "AGDF OpenCode surface active",
|
|
12
|
+
extra: { controlDir },
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
"shell.env": async (_input, output) => {
|
|
19
|
+
output.env.AGDF_CONTROL_DIR = controlDir;
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
"experimental.session.compacting": async (_input, output) => {
|
|
23
|
+
output.context.push([
|
|
24
|
+
"## AGDF Runtime Reminder",
|
|
25
|
+
"Use `.opencode/AGDF.md`, `.opencode/agents/` and `.agdf/control/` as the AGDF source for this OpenCode session.",
|
|
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.",
|
|
28
|
+
].join("\n"));
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export default AGDFPlugin;
|
package/package.json
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-agdf",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Bootstrap AGDF repository-local plugin files, Copilot instructions, skills, control files and machine-readable checks.",
|
|
3
|
+
"version": "0.3.0",
|
|
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": [
|
|
7
7
|
"bin",
|
|
8
8
|
"generated",
|
|
9
|
+
"opencode-plugin.js",
|
|
9
10
|
"README.md",
|
|
10
11
|
"NOTICE"
|
|
11
12
|
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./opencode-plugin.js",
|
|
15
|
+
"./cli": "./bin/create-agdf.js",
|
|
16
|
+
"./opencode-plugin": "./opencode-plugin.js"
|
|
17
|
+
},
|
|
12
18
|
"bin": {
|
|
13
19
|
"create-agdf": "./bin/create-agdf.js"
|
|
14
20
|
},
|
|
@@ -23,6 +29,7 @@
|
|
|
23
29
|
"copilot",
|
|
24
30
|
"claude-code",
|
|
25
31
|
"codex",
|
|
32
|
+
"opencode",
|
|
26
33
|
"control",
|
|
27
34
|
"scaffold",
|
|
28
35
|
"bootstrap"
|