@ncoderz/awa 1.7.2 → 1.8.1
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/LICENSE +23 -16
- package/README.md +25 -27
- package/dist/chunk-EL7ZWFXO.js +875 -0
- package/dist/chunk-EL7ZWFXO.js.map +1 -0
- package/dist/{chunk-OQZTQ5ZI.js → chunk-LRQWZCYL.js} +1 -4
- package/dist/chunk-LRQWZCYL.js.map +1 -0
- package/dist/{config-WL3SLSP6.js → config-EJIXC7D7.js} +2 -2
- package/dist/index.js +1257 -452
- package/dist/index.js.map +1 -1
- package/dist/renumber-TLBGOWZM.js +9 -0
- package/dist/renumber-TLBGOWZM.js.map +1 -0
- package/package.json +13 -6
- package/templates/awa/.agent/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.agent/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.agent/workflows/spec-merge.md +3 -0
- package/templates/awa/.agent/workflows/spec-tidy.md +3 -0
- package/templates/awa/.agents/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.agents/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/API.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +7 -0
- package/templates/awa/.awa/.agent/schemas/DESIGN.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/{EXAMPLES.schema.yaml → EXAMPLE.schema.yaml} +4 -4
- package/templates/awa/.awa/.agent/schemas/FEAT.schema.yaml +8 -1
- package/templates/awa/.awa/.agent/schemas/PLAN.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/README.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/REQ.schema.yaml +1 -1
- package/templates/awa/.awa/.agent/schemas/TASK.schema.yaml +1 -1
- package/templates/awa/.claude/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.claude/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.gemini/commands/spec-merge.md +3 -0
- package/templates/awa/.gemini/commands/spec-tidy.md +3 -0
- package/templates/awa/.gemini/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.gemini/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.github/prompts/awa.spec-merge.prompt.md +8 -0
- package/templates/awa/.github/prompts/awa.spec-tidy.prompt.md +7 -0
- package/templates/awa/.github/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.github/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.kilocode/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.kilocode/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.kilocode/workflows/spec-merge.md +3 -0
- package/templates/awa/.kilocode/workflows/spec-tidy.md +3 -0
- package/templates/awa/.opencode/commands/spec-merge.md +3 -0
- package/templates/awa/.opencode/commands/spec-tidy.md +3 -0
- package/templates/awa/.opencode/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.opencode/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.qwen/commands/spec-merge.md +3 -0
- package/templates/awa/.qwen/commands/spec-tidy.md +3 -0
- package/templates/awa/.qwen/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.qwen/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.roo/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.roo/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/.windsurf/skills/spec-merge/SKILL.md +3 -0
- package/templates/awa/.windsurf/skills/spec-tidy/SKILL.md +3 -0
- package/templates/awa/_delete.txt +4 -0
- package/templates/awa/_partials/_cmd.spec-merge.md +6 -0
- package/templates/awa/_partials/_cmd.spec-tidy.md +5 -0
- package/templates/awa/_partials/_skill.spec-merge.md +6 -0
- package/templates/awa/_partials/_skill.spec-tidy.md +6 -0
- package/templates/awa/_partials/awa.align.md +1 -1
- package/templates/awa/_partials/awa.brainstorm.md +1 -1
- package/templates/awa/_partials/awa.code.md +1 -1
- package/templates/awa/_partials/awa.core.md +9 -4
- package/templates/awa/_partials/awa.design.md +3 -2
- package/templates/awa/_partials/awa.documentation.md +1 -1
- package/templates/awa/_partials/awa.examples.md +4 -4
- package/templates/awa/_partials/awa.feature.md +2 -1
- package/templates/awa/_partials/awa.plan.md +2 -2
- package/templates/awa/_partials/awa.requirements.md +4 -2
- package/templates/awa/_partials/awa.spec-merge.md +97 -0
- package/templates/awa/_partials/awa.spec.tidy.md +92 -0
- package/templates/awa/_partials/awa.tasks.md +1 -1
- package/templates/awa/_partials/awa.upgrade.md +3 -3
- package/templates/awa/_partials/awa.usage.md +77 -6
- package/templates/awa/_partials/awa.vibe.md +1 -1
- package/templates/awa/_tests/claude/.awa/.agent/awa.core.md +126 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/API.schema.yaml +7 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/README.schema.yaml +137 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/REQ.schema.yaml +160 -0
- package/templates/awa/_tests/claude/.awa/.agent/schemas/TASK.schema.yaml +204 -0
- package/templates/awa/_tests/claude/.claude/agents/awa.md +137 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-align/SKILL.md +67 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-architecture/SKILL.md +50 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-brainstorm/SKILL.md +57 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-check/SKILL.md +79 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-code/SKILL.md +179 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-design/SKILL.md +62 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-documentation/SKILL.md +91 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-examples/SKILL.md +58 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-feature/SKILL.md +56 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-plan/SKILL.md +53 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-refactor/SKILL.md +53 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-requirements/SKILL.md +58 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-tasks/SKILL.md +158 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-upgrade/SKILL.md +68 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-usage/SKILL.md +368 -0
- package/templates/awa/_tests/claude/.claude/skills/awa-vibe/SKILL.md +72 -0
- package/templates/awa/_tests/claude/.claude/skills/spec-merge/SKILL.md +102 -0
- package/templates/awa/_tests/claude/.claude/skills/spec-tidy/SKILL.md +97 -0
- package/templates/awa/_tests/claude/CLAUDE.md +132 -0
- package/templates/awa/_tests/copilot/.awa/.agent/awa.core.md +126 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/ALIGN_REPORT.schema.yaml +83 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/API.schema.yaml +7 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/ARCHITECTURE.schema.yaml +257 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/DESIGN.schema.yaml +351 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/EXAMPLE.schema.yaml +89 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/FEAT.schema.yaml +142 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/PLAN.schema.yaml +146 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/README.schema.yaml +137 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/REQ.schema.yaml +160 -0
- package/templates/awa/_tests/copilot/.awa/.agent/schemas/TASK.schema.yaml +204 -0
- package/templates/awa/_tests/copilot/.github/agents/awa.agent.md +137 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.align.prompt.md +67 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.architecture.prompt.md +50 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.brainstorm.prompt.md +57 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.check.prompt.md +79 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.code.prompt.md +179 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.design.prompt.md +62 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.documentation.prompt.md +91 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.examples.prompt.md +58 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.feature.prompt.md +56 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.plan.prompt.md +53 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.refactor.prompt.md +53 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.requirements.prompt.md +58 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.spec-merge.prompt.md +102 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.spec-tidy.prompt.md +96 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.tasks.prompt.md +158 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.upgrade.prompt.md +68 -0
- package/templates/awa/_tests/copilot/.github/prompts/awa.vibe.prompt.md +72 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-align/SKILL.md +67 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-architecture/SKILL.md +50 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-brainstorm/SKILL.md +57 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-check/SKILL.md +79 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-code/SKILL.md +179 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-design/SKILL.md +62 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-documentation/SKILL.md +91 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-examples/SKILL.md +58 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-feature/SKILL.md +56 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-plan/SKILL.md +53 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-refactor/SKILL.md +53 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-requirements/SKILL.md +58 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-tasks/SKILL.md +158 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-upgrade/SKILL.md +68 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-usage/SKILL.md +368 -0
- package/templates/awa/_tests/copilot/.github/skills/awa-vibe/SKILL.md +72 -0
- package/templates/awa/_tests/copilot/.github/skills/spec-merge/SKILL.md +102 -0
- package/templates/awa/_tests/copilot/.github/skills/spec-tidy/SKILL.md +97 -0
- package/dist/chunk-OQZTQ5ZI.js.map +0 -1
- /package/dist/{config-WL3SLSP6.js.map → config-EJIXC7D7.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ncoderz/awa",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "awa is an Agent Workflow for AIs. It is also a CLI tool to powerfully manage agent workflow files using templates.",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/ncoderz/awa"
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"test:watch": "vitest",
|
|
26
26
|
"test:coverage": "vitest run --coverage",
|
|
27
27
|
"check": "npm run dev -- check",
|
|
28
|
-
"lint": "
|
|
29
|
-
"lint:fix": "
|
|
30
|
-
"format": "
|
|
28
|
+
"lint": "eslint --max-warnings 0 .",
|
|
29
|
+
"lint:fix": "eslint --max-warnings 0 --fix .",
|
|
30
|
+
"format": "prettier --write .",
|
|
31
31
|
"typecheck": "tsc --noEmit",
|
|
32
32
|
"typecheck:tests": "tsc --noEmit -p tsconfig.test.json",
|
|
33
33
|
"typecheck:all": "npm run typecheck && npm run typecheck:tests",
|
|
@@ -71,15 +71,22 @@
|
|
|
71
71
|
"yaml": "^2.8.2"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@
|
|
74
|
+
"@eslint/js": "^10.0.1",
|
|
75
|
+
"@eslint/json": "^1.0.1",
|
|
75
76
|
"@types/degit": "^2.8.6",
|
|
76
77
|
"@types/mdast": "^4.0.4",
|
|
77
78
|
"@types/node": "^25.3.0",
|
|
78
79
|
"@vitest/coverage-v8": "^4.0.18",
|
|
80
|
+
"eslint": "^10.0.2",
|
|
81
|
+
"eslint-config-prettier": "^10.1.8",
|
|
82
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
83
|
+
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
79
84
|
"fast-check": "^4.5.3",
|
|
85
|
+
"prettier": "^3.8.1",
|
|
80
86
|
"tsup": "^8.5.1",
|
|
81
87
|
"tsx": "^4.21.0",
|
|
82
88
|
"typescript": "^5.9.3",
|
|
89
|
+
"typescript-eslint": "^8.56.1",
|
|
83
90
|
"vitest": "^4.0.18"
|
|
84
91
|
}
|
|
85
92
|
}
|
|
@@ -6,7 +6,7 @@ description: >
|
|
|
6
6
|
(CERTAIN/LIKELY/UNCERTAIN), and type (MISSING/DIFFERENCE/CONFLICT/INCOMPLETE/
|
|
7
7
|
UNTESTED/ORPHAN/SUPERSET). Findings are checkbox items with SOURCE, TARGET,
|
|
8
8
|
ISSUE, and RESOLUTION fields. Summary section has severity counts and STATUS.
|
|
9
|
-
line-limit:
|
|
9
|
+
line-limit: 800
|
|
10
10
|
|
|
11
11
|
sections:
|
|
12
12
|
# Top-level heading
|
|
@@ -32,6 +32,13 @@ sections:
|
|
|
32
32
|
Bullet list of software layers or subsystems (e.g., CLI Layer,
|
|
33
33
|
Core Engine, Template System, I/O Layer).
|
|
34
34
|
|
|
35
|
+
# Feature Codes section (auto-generated by awa check)
|
|
36
|
+
- heading: "Feature Codes"
|
|
37
|
+
level: 2
|
|
38
|
+
description: >
|
|
39
|
+
Auto-generated table of feature codes, feature names, and scope boundaries.
|
|
40
|
+
Managed by `awa check` — do not edit manually.
|
|
41
|
+
|
|
35
42
|
# Technology Stack section
|
|
36
43
|
- heading: "Technology Stack"
|
|
37
44
|
level: 2
|
|
@@ -6,7 +6,7 @@ description: >
|
|
|
6
6
|
Each component has a name ({CODE}-{ComponentName}), description, IMPLEMENTS
|
|
7
7
|
trace, and interface code block. Correctness properties use {CODE}_P-{n} IDs
|
|
8
8
|
and link back to requirements via VALIDATES.
|
|
9
|
-
line-limit:
|
|
9
|
+
line-limit: 800
|
|
10
10
|
|
|
11
11
|
sections:
|
|
12
12
|
# Top-level heading: "Design Specification"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# Structural rules for
|
|
2
|
-
target-files: ".awa/specs/
|
|
1
|
+
# Structural rules for EXAMPLE-{CODE}-{feature-name}-{nnn}.md files
|
|
2
|
+
target-files: ".awa/specs/EXAMPLE-*.md"
|
|
3
3
|
description: >
|
|
4
4
|
Concrete usage examples for a feature. Detailed, hands-on, reproducible.
|
|
5
5
|
Use the same {CODE} as the corresponding FEAT/REQ for the feature.
|
|
6
|
-
Number files sequentially (-001, -002, ...) when splitting at the
|
|
6
|
+
Number files sequentially (-001, -002, ...) when splitting at the line-limit.
|
|
7
7
|
Each example must have a title, context, and code/demonstration block.
|
|
8
8
|
Marked [INFORMATIVE]. Prohibited: normative language (SHALL/SHOULD/MAY),
|
|
9
9
|
acceptance criteria, traceability IDs, design decisions.
|
|
10
|
-
line-limit:
|
|
10
|
+
line-limit: 800
|
|
11
11
|
|
|
12
12
|
sections:
|
|
13
13
|
# Top-level heading with INFORMATIVE marker
|
|
@@ -6,7 +6,7 @@ description: >
|
|
|
6
6
|
to distinguish from normative REQ/DESIGN documents.
|
|
7
7
|
Prohibited: normative language (SHALL/SHOULD/MAY), acceptance criteria,
|
|
8
8
|
traceability IDs, design decisions, bold formatting.
|
|
9
|
-
line-limit:
|
|
9
|
+
line-limit: 800
|
|
10
10
|
|
|
11
11
|
sections:
|
|
12
12
|
# Top-level heading with INFORMATIVE marker
|
|
@@ -33,6 +33,13 @@ sections:
|
|
|
33
33
|
How users should think about this feature. Mental model, key abstractions,
|
|
34
34
|
and relationships between concepts. May include diagrams.
|
|
35
35
|
|
|
36
|
+
# Scope Boundary section (optional, after Conceptual Model)
|
|
37
|
+
- heading: "Scope Boundary"
|
|
38
|
+
level: 2
|
|
39
|
+
description: >
|
|
40
|
+
Single sentence defining the feature's scope boundary — what this feature
|
|
41
|
+
owns and where it ends.
|
|
42
|
+
|
|
36
43
|
# Scenarios section with repeatable scenario headings
|
|
37
44
|
- heading: "Scenarios"
|
|
38
45
|
level: 2
|
|
@@ -7,7 +7,7 @@ description: >
|
|
|
7
7
|
organize sections as the plan demands. Plans should not contain significant
|
|
8
8
|
code (short snippets for explanation are fine).
|
|
9
9
|
Traceability links to REQ/DESIGN/code/tests are optional but encouraged.
|
|
10
|
-
line-limit:
|
|
10
|
+
line-limit: 800
|
|
11
11
|
|
|
12
12
|
sections:
|
|
13
13
|
# H1 title with status/direction metadata
|
|
@@ -5,7 +5,7 @@ description: >
|
|
|
5
5
|
/docs folder rather than including lengthy content inline. Required sections:
|
|
6
6
|
title, description, installation, and usage. Keep it concise — the README
|
|
7
7
|
is the front door, not the whole house.
|
|
8
|
-
line-limit:
|
|
8
|
+
line-limit: 800
|
|
9
9
|
|
|
10
10
|
sections:
|
|
11
11
|
# Project title (H1)
|
|
@@ -6,7 +6,7 @@ description: >
|
|
|
6
6
|
Each requirement has an ID ({CODE}-{n}), a user story (AS A/I WANT/SO THAT),
|
|
7
7
|
and acceptance criteria with INCOSE-compliant types.
|
|
8
8
|
Subrequirements use dotted IDs ({CODE}-{n}.{p}).
|
|
9
|
-
line-limit:
|
|
9
|
+
line-limit: 800
|
|
10
10
|
|
|
11
11
|
sections:
|
|
12
12
|
# Top-level heading: "Requirements Specification"
|
|
@@ -9,7 +9,7 @@ description: >
|
|
|
9
9
|
A Documentation phase is required after Polish. It lists doc files to update
|
|
10
10
|
(README.md, docs/) for user-facing changes. If no doc updates are needed,
|
|
11
11
|
include a single task stating so (e.g., "No doc changes — internal only").
|
|
12
|
-
line-limit:
|
|
12
|
+
line-limit: 800
|
|
13
13
|
|
|
14
14
|
sections:
|
|
15
15
|
# Top-level heading: "Implementation Tasks"
|
|
@@ -34,7 +34,7 @@ y = target artifact (what x is validated against) = requirement(s).
|
|
|
34
34
|
|
|
35
35
|
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
36
36
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
37
|
-
<file type="examples" path=".awa/specs/
|
|
37
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
38
38
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
39
39
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
40
40
|
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
@@ -20,7 +20,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
20
20
|
|
|
21
21
|
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
22
22
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
23
|
-
<file type="examples" path=".awa/specs/
|
|
23
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
24
24
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
25
25
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
26
26
|
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
@@ -20,7 +20,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
20
20
|
|
|
21
21
|
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
22
22
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
23
|
-
<file type="examples" path=".awa/specs/
|
|
23
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
24
24
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
25
25
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
26
26
|
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
YOU (the SYSTEM) are awa, an AI coding assistant specialized in structured coding tasks.
|
|
4
4
|
YOU follow the set of rules defined below, reminding yourself of the rules periodically.
|
|
5
|
+
YOU are also an expert software architect and developer, and write specifications, code, tests and documentation in this manner.
|
|
5
6
|
|
|
6
7
|
<awa>
|
|
7
8
|
<workflow default-direction="ARCHITECTURE → DOCUMENTATION">
|
|
@@ -9,12 +10,13 @@ YOU follow the set of rules defined below, reminding yourself of the rules perio
|
|
|
9
10
|
</workflow>
|
|
10
11
|
|
|
11
12
|
<file_structure>
|
|
13
|
+
```
|
|
12
14
|
.awa/
|
|
13
15
|
├── .agent/
|
|
14
16
|
│ └── schemas/
|
|
15
17
|
│ ├── ARCHITECTURE.schema.yaml
|
|
16
18
|
│ ├── FEAT.schema.yaml
|
|
17
|
-
│ ├──
|
|
19
|
+
│ ├── EXAMPLE.schema.yaml
|
|
18
20
|
│ ├── REQ.schema.yaml
|
|
19
21
|
│ ├── DESIGN.schema.yaml
|
|
20
22
|
│ ├── API.schema.yaml
|
|
@@ -25,7 +27,7 @@ YOU follow the set of rules defined below, reminding yourself of the rules perio
|
|
|
25
27
|
├── specs/
|
|
26
28
|
│ ├── ARCHITECTURE.md
|
|
27
29
|
│ ├── FEAT-{CODE}-{feature-name}.md
|
|
28
|
-
│ ├──
|
|
30
|
+
│ ├── EXAMPLE-{CODE}-{feature-name}-{nnn}.md
|
|
29
31
|
│ ├── REQ-{CODE}-{feature-name}.md
|
|
30
32
|
│ ├── DESIGN-{CODE}-{feature-name}.md
|
|
31
33
|
│ └── API-{CODE}-{api-name}.tsp
|
|
@@ -37,12 +39,13 @@ YOU follow the set of rules defined below, reminding yourself of the rules perio
|
|
|
37
39
|
│ └── ALIGN-{x}-WITH-{y}-{nnn}.md
|
|
38
40
|
└── rules/
|
|
39
41
|
└── *.md
|
|
42
|
+
```
|
|
40
43
|
</file_structure>
|
|
41
44
|
|
|
42
45
|
<file_descriptions>
|
|
43
46
|
- ARCHITECTURE.md: High-level architecture overview of the project.
|
|
44
47
|
- FEAT-{CODE}-{feature-name}.md: Non-normative feature context — problem, motivation, conceptual model, scenarios.
|
|
45
|
-
-
|
|
48
|
+
- EXAMPLE-{CODE}-{feature-name}-{nnn}.md: Concrete usage examples — code, CLI, config demonstrations for a feature.
|
|
46
49
|
- REQ-{CODE}-{feature-name}.md: Requirements in EARS format (INCOSE-compliant).
|
|
47
50
|
- DESIGN-{CODE}-{feature-name}.md: Design documents outlining the implementation approach for features.
|
|
48
51
|
- API-{CODE}-{api-name}.tsp: TypeSpec files defining major APIs.
|
|
@@ -53,6 +56,7 @@ YOU follow the set of rules defined below, reminding yourself of the rules perio
|
|
|
53
56
|
</file_descriptions>
|
|
54
57
|
|
|
55
58
|
<traceability_chain>
|
|
59
|
+
```
|
|
56
60
|
{CODE}-{n} = requirement id, e.g. DIFF-1; subrequirement id = {CODE}-{n}.{p}, e.g. DIFF-1.1
|
|
57
61
|
{CODE}-{n}[.{p}]_AC-{m} = acceptance criterion id, e.g. DIFF-1_AC-1 or DIFF-1.1_AC-2
|
|
58
62
|
{CODE}_P-{n} = correctness property id, e.g. DIFF_P-2
|
|
@@ -84,10 +88,11 @@ DESIGN-{CODE}-{feature}.md
|
|
|
84
88
|
└── @awa-test: {CODE}-{n}[.{p}]_AC-{m} // verifies AC directly
|
|
85
89
|
|
|
86
90
|
Markers create the trace, not file paths.
|
|
91
|
+
```
|
|
87
92
|
</traceability_chain>
|
|
88
93
|
|
|
89
94
|
<file_size_limits>
|
|
90
|
-
Any file exceeding schema defined line-limit, or otherwise
|
|
95
|
+
Any file exceeding schema defined line-limit, or otherwise 800 lines, MUST be split logically into multiple files unless impossible. NEVER remove, truncate, summarize, or compress content to stay within the limit. Instead, split content into additional files, or in the case of ARCHITECTURE.md, push details to other spec files.
|
|
91
96
|
</file_size_limits>
|
|
92
97
|
|
|
93
98
|
<core_principles>
|
|
@@ -22,7 +22,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
22
22
|
|
|
23
23
|
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
24
24
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
25
|
-
<file type="examples" path=".awa/specs/
|
|
25
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
26
26
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
27
27
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
28
28
|
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
@@ -41,6 +41,8 @@ If deriving from existing code (reverse workflow), analyze the codebase to extra
|
|
|
41
41
|
|
|
42
42
|
## Rules
|
|
43
43
|
|
|
44
|
+
You SHALL ensure the {CODE} matches the corresponding REQ {CODE} for the same feature if one exists.
|
|
45
|
+
You SHALL run `awa spec codes` to help choose the {CODE} extending existing one if logical.
|
|
44
46
|
You SHALL solidify design with respect to architecture and requirements.
|
|
45
47
|
You SHALL create and maintain design specifications for features.
|
|
46
48
|
You SHALL create and maintain API specifications in TypeSpec format.
|
|
@@ -49,7 +51,6 @@ You SHALL identify existing requirements to update, or new requirements to creat
|
|
|
49
51
|
You SHALL consider edge cases, UX, technical constraints, success criteria.
|
|
50
52
|
You MUST identify areas where research is needed based on the feature requirements.
|
|
51
53
|
You MUST conduct research and build up context in the conversation thread.
|
|
52
|
-
You SHALL ensure the 3-letter {CODE} used in the filename is unique within the project.
|
|
53
54
|
You SHALL ensure IMPLEMENTS and VALIDATES cross-references in design components resolve to real requirement IDs and AC IDs.
|
|
54
55
|
You SHALL support reverse workflow: deriving design from existing code when requested.
|
|
55
56
|
You SHALL clarify open points with user.
|
|
@@ -56,7 +56,7 @@ docs/
|
|
|
56
56
|
- Each file covers one topic
|
|
57
57
|
- Reference style for commands/APIs
|
|
58
58
|
- Tutorial style for guides
|
|
59
|
-
- Keep files under
|
|
59
|
+
- Keep files under the specified line-limit; split if larger
|
|
60
60
|
|
|
61
61
|
3. Derive from specifications
|
|
62
62
|
- Do not duplicate; summarize and link
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<read path=".awa/.agent/awa.core.md" required="true" error="on not found" />
|
|
7
7
|
<read path=".awa/rules/*.md" required="true" />
|
|
8
8
|
<read path=".awa/specs/ARCHITECTURE.md" required="if exists" />
|
|
9
|
-
<read path=".awa/.agent/schemas/
|
|
9
|
+
<read path=".awa/.agent/schemas/EXAMPLE.schema.yaml" required="true" error="on not found" />
|
|
10
10
|
</tool>
|
|
11
11
|
|
|
12
12
|
## User Input
|
|
@@ -23,7 +23,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
23
23
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
24
24
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
25
25
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
26
|
-
<file type="examples" path=".awa/specs/
|
|
26
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if updating" />
|
|
27
27
|
<file type="code" required="if relevant" />
|
|
28
28
|
|
|
29
29
|
## Action
|
|
@@ -34,7 +34,7 @@ If deriving from existing code (reverse workflow), extract representative usage
|
|
|
34
34
|
|
|
35
35
|
## Outputs
|
|
36
36
|
|
|
37
|
-
<file path=".awa/specs/
|
|
37
|
+
<file path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" />
|
|
38
38
|
|
|
39
39
|
## Rules
|
|
40
40
|
|
|
@@ -42,7 +42,7 @@ You SHALL provide concrete, detailed, reproducible examples (code, CLI, config).
|
|
|
42
42
|
You SHALL include context for each example explaining when to use it and what it demonstrates.
|
|
43
43
|
You SHALL use the same {CODE} as the corresponding FEAT/REQ for the feature.
|
|
44
44
|
You SHALL mark the document as INFORMATIVE (not normative).
|
|
45
|
-
You SHALL split into multiple files (-001, -002, ...) if a single file would exceed
|
|
45
|
+
You SHALL split into multiple files (-001, -002, ...) if a single file would exceed the line-limit.
|
|
46
46
|
You SHALL NOT use normative language (SHALL/SHOULD/MAY) — that belongs in REQ documents.
|
|
47
47
|
You SHALL NOT define acceptance criteria or traceability IDs — that belongs in REQ documents.
|
|
48
48
|
You SHALL NOT describe design decisions or implementation details — that belongs in DESIGN documents.
|
|
@@ -27,6 +27,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
27
27
|
## Action
|
|
28
28
|
|
|
29
29
|
Create or update a non-normative feature context document as specified in the instruction above, following awa conventions.
|
|
30
|
+
Consider existing specifications before making changes.
|
|
30
31
|
|
|
31
32
|
If deriving from existing code or requirements (reverse workflow), analyze the codebase and specs to extract the problem statement, conceptual model, and usage scenarios.
|
|
32
33
|
|
|
@@ -36,13 +37,13 @@ If deriving from existing code or requirements (reverse workflow), analyze the c
|
|
|
36
37
|
|
|
37
38
|
## Rules
|
|
38
39
|
|
|
40
|
+
You SHALL run `awa spec codes` to help choose the {CODE} extending existing one if logical.
|
|
39
41
|
You SHALL describe the problem, motivation, and conceptual model for the feature.
|
|
40
42
|
You SHALL provide concrete usage scenarios that illustrate the feature in action.
|
|
41
43
|
You SHALL mark the document as INFORMATIVE (not normative).
|
|
42
44
|
You SHALL NOT use normative language (SHALL/SHOULD/MAY) — that belongs in REQ documents.
|
|
43
45
|
You SHALL NOT define acceptance criteria or traceability IDs — that belongs in REQ documents.
|
|
44
46
|
You SHALL NOT describe design decisions or implementation details — that belongs in DESIGN documents.
|
|
45
|
-
You SHALL ensure the {CODE} matches the corresponding REQ {CODE} for the same feature.
|
|
46
47
|
You SHALL use clear, accessible language; define jargon in a glossary if needed.
|
|
47
48
|
You SHALL support reverse workflow: deriving feature context from existing code or requirements when requested.
|
|
48
49
|
You SHALL clarify open points with user.
|
|
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
|
|
|
21
21
|
|
|
22
22
|
<file type="architecture" path=".awa/specs/ARCHITECTURE.md" />
|
|
23
23
|
<file type="feat" path=".awa/specs/FEAT-{CODE}-{feature-name}.md" required="if relevant" />
|
|
24
|
-
<file type="examples" path=".awa/specs/
|
|
24
|
+
<file type="examples" path=".awa/specs/EXAMPLE-{CODE}-{feature-name}-{nnn}.md" required="if relevant" />
|
|
25
25
|
<file type="requirements" path=".awa/specs/REQ-{CODE}-{feature-name}.md" required="if relevant" />
|
|
26
26
|
<file type="design" path=".awa/specs/DESIGN-{CODE}-{feature-name}.md" required="if relevant" />
|
|
27
27
|
<file type="api" path=".awa/specs/API-{CODE}-{feature-name}.md" required="if relevant" />
|
|
@@ -40,7 +40,7 @@ Update or create the ad-hoc plan document(s) as specified in the instruction abo
|
|
|
40
40
|
You SHALL create and maintain ad-hoc plans for features, improvements, refactors, or other user requests.
|
|
41
41
|
You SHALL break down work into detailed, actionable steps
|
|
42
42
|
You SHALL identify risks, dependencies, and completion criteria
|
|
43
|
-
You SHALL ensure the 3-
|
|
43
|
+
You SHALL ensure the 3-number {nnn} used in the filename follows the previous plans within the project.
|
|
44
44
|
You SHOULD NOT write significant code in the plan documents. Code can be used to define data structures and for explanation.
|
|
45
45
|
You SHOULD consider edge cases, user experience, technical constraints, and success criteria.
|
|
46
46
|
You SHOULD suggest specific areas where the plan might need clarification or expansion.
|