ac-framework 1.7.0 → 1.8.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.
Files changed (87) hide show
  1. package/README.md +26 -0
  2. package/bin/postinstall.js +8 -1
  3. package/framework/.agent/skills/acfm-memory/SKILL.md +312 -0
  4. package/framework/.agent/workflows/ac-lite.md +192 -0
  5. package/framework/.agent/workflows/ac.md +40 -0
  6. package/framework/.amazonq/prompts/ac-lite.md +192 -0
  7. package/framework/.amazonq/prompts/ac.md +40 -0
  8. package/framework/.amazonq/skills/acfm-memory/SKILL.md +312 -0
  9. package/framework/.antigravity/skills/acfm-memory/SKILL.md +312 -0
  10. package/framework/.antigravity/workflows/ac-lite.md +192 -0
  11. package/framework/.antigravity/workflows/ac.md +40 -0
  12. package/framework/.augment/commands/ac-lite.md +192 -0
  13. package/framework/.augment/commands/ac.md +40 -0
  14. package/framework/.augment/skills/acfm-memory/SKILL.md +312 -0
  15. package/framework/.claude/commands/opsx/ac-lite.md +192 -0
  16. package/framework/.claude/commands/opsx/ac.md +40 -0
  17. package/framework/.claude/skills/acfm-memory/SKILL.md +312 -0
  18. package/framework/.cline/commands/opsx/ac-lite.md +192 -0
  19. package/framework/.cline/commands/opsx/ac.md +40 -0
  20. package/framework/.cline/skills/acfm-memory/SKILL.md +312 -0
  21. package/framework/.clinerules/skills/acfm-memory/SKILL.md +312 -0
  22. package/framework/.clinerules/workflows/ac-lite.md +192 -0
  23. package/framework/.clinerules/workflows/ac.md +40 -0
  24. package/framework/.codebuddy/commands/opsx/ac-lite.md +192 -0
  25. package/framework/.codebuddy/commands/opsx/ac.md +40 -0
  26. package/framework/.codebuddy/skills/acfm-memory/SKILL.md +312 -0
  27. package/framework/.codex/skills/acfm-memory/SKILL.md +312 -0
  28. package/framework/.continue/prompts/ac-lite.md +192 -0
  29. package/framework/.continue/prompts/ac.md +40 -0
  30. package/framework/.continue/skills/acfm-memory/SKILL.md +312 -0
  31. package/framework/.cospec/openspec/commands/ac-lite.md +192 -0
  32. package/framework/.cospec/openspec/commands/ac.md +40 -0
  33. package/framework/.cospec/skills/acfm-memory/SKILL.md +312 -0
  34. package/framework/.crush/commands/opsx/ac-lite.md +192 -0
  35. package/framework/.crush/commands/opsx/ac.md +40 -0
  36. package/framework/.crush/skills/acfm-memory/SKILL.md +312 -0
  37. package/framework/.cursor/commands/ac-lite.md +192 -0
  38. package/framework/.cursor/commands/ac.md +40 -0
  39. package/framework/.cursor/skills/acfm-memory/SKILL.md +312 -0
  40. package/framework/.factory/commands/ac-lite.md +192 -0
  41. package/framework/.factory/commands/ac.md +40 -0
  42. package/framework/.factory/skills/acfm-memory/SKILL.md +312 -0
  43. package/framework/.gemini/commands/opsx/ac-lite.md +192 -0
  44. package/framework/.gemini/commands/opsx/ac.md +40 -0
  45. package/framework/.gemini/skills/acfm-memory/SKILL.md +312 -0
  46. package/framework/.github/prompts/ac-lite.md +192 -0
  47. package/framework/.github/prompts/ac.md +40 -0
  48. package/framework/.github/skills/acfm-memory/SKILL.md +312 -0
  49. package/framework/.iflow/commands/ac-lite.md +192 -0
  50. package/framework/.iflow/commands/ac.md +40 -0
  51. package/framework/.iflow/skills/acfm-memory/SKILL.md +312 -0
  52. package/framework/.kilocode/skills/acfm-memory/SKILL.md +312 -0
  53. package/framework/.kilocode/workflows/ac-lite.md +192 -0
  54. package/framework/.kilocode/workflows/ac.md +40 -0
  55. package/framework/.kimi/skills/acfm-memory/SKILL.md +312 -0
  56. package/framework/.kimi/workflows/ac-lite.md +192 -0
  57. package/framework/.kimi/workflows/ac.md +40 -0
  58. package/framework/.opencode/command/ac-lite.md +192 -0
  59. package/framework/.opencode/command/ac.md +40 -0
  60. package/framework/.opencode/skills/acfm-memory/SKILL.md +312 -0
  61. package/framework/.qoder/commands/opsx/ac-lite.md +192 -0
  62. package/framework/.qoder/commands/opsx/ac.md +40 -0
  63. package/framework/.qoder/skills/acfm-memory/SKILL.md +312 -0
  64. package/framework/.qwen/commands/ac-lite.md +192 -0
  65. package/framework/.qwen/commands/ac.md +40 -0
  66. package/framework/.qwen/skills/acfm-memory/SKILL.md +312 -0
  67. package/framework/.roo/commands/ac-lite.md +192 -0
  68. package/framework/.roo/commands/ac.md +40 -0
  69. package/framework/.roo/skills/acfm-memory/SKILL.md +312 -0
  70. package/framework/.trae/skills/acfm-memory/SKILL.md +312 -0
  71. package/framework/.windsurf/skills/acfm-memory/SKILL.md +312 -0
  72. package/framework/.windsurf/workflows/ac-lite.md +192 -0
  73. package/framework/.windsurf/workflows/ac.md +40 -0
  74. package/framework/AGENTS.md +39 -0
  75. package/framework/CLAUDE.md +39 -0
  76. package/framework/GEMINI.md +39 -0
  77. package/framework/copilot-instructions.md +39 -0
  78. package/package.json +2 -1
  79. package/src/cli.js +2 -0
  80. package/src/commands/memory.js +772 -0
  81. package/src/index.js +46 -0
  82. package/src/memory/autosave.js +382 -0
  83. package/src/memory/database.js +178 -0
  84. package/src/memory/engine.js +727 -0
  85. package/src/memory/index.js +62 -0
  86. package/src/memory/utils.js +128 -0
  87. package/src/services/spec-engine.js +69 -1
@@ -0,0 +1,192 @@
1
+ **Fundamental Principle**: *"Quality with focused context. Load only what is necessary, when it is necessary."*
2
+
3
+ ---
4
+
5
+ ## Purpose
6
+
7
+ `ac-lite` keeps the same spec-driven quality bar as `ac.md`, but reduces token usage by:
8
+
9
+ 1. Loading only the core workflow skills by default.
10
+ 2. Activating extra skills only when objective risk gates require them.
11
+ 3. Enforcing mandatory quality checkpoints before implementation and archive.
12
+
13
+ ---
14
+
15
+ ## Default Skill Set (Always Load)
16
+
17
+ These are the only mandatory skills for every change:
18
+
19
+ 1. `acfm-spec-workflow`
20
+ 2. `openspec-new-change` OR `openspec-ff-change`
21
+ 3. `openspec-continue-change`
22
+ 4. `openspec-apply-change`
23
+ 5. `openspec-verify-change`
24
+ 6. `openspec-archive-change`
25
+
26
+ ---
27
+
28
+ ## Conditional Skills (Load Only If Gate Triggers)
29
+
30
+ ### Security Gate
31
+
32
+ Load `secure-coding-cybersecurity` if the change touches any of:
33
+
34
+ - Auth/session/permissions
35
+ - User input handling or validation
36
+ - SQL/ORM queries or dynamic filters
37
+ - File paths/uploads
38
+ - Secrets/tokens/credentials
39
+ - Shell/command execution
40
+
41
+ ### Testing Gate
42
+
43
+ Load `test-generator` if:
44
+
45
+ - There are no tests for the changed behavior, or
46
+ - Existing tests do not cover acceptance criteria, or
47
+ - Regression risk is medium/high.
48
+
49
+ ### Consistency Gate
50
+
51
+ Load `spec-analysis` and `requirement-checklist` if:
52
+
53
+ - Requirements are ambiguous, or
54
+ - Change spans multiple modules, or
55
+ - Change modifies core domain behavior.
56
+
57
+ ### API Gate
58
+
59
+ Load `api-design-principles` if API contracts/endpoints/schemas are added or modified.
60
+
61
+ ### UI Gate
62
+
63
+ Load `interface-design` if dashboard/app UI behavior is introduced or changed.
64
+
65
+ ### Performance Gate
66
+
67
+ Load `performance-optimizer` if:
68
+
69
+ - The change affects hot paths, or
70
+ - Latency/throughput targets exist, or
71
+ - A performance regression is detected/suspected.
72
+
73
+ ### Context Scale Gate
74
+
75
+ Load `project-index` and/or `context-synthesizer` if:
76
+
77
+ - Codebase is large and discovery cost is high, or
78
+ - Session is long and context drift appears.
79
+
80
+ ### Debug Gate
81
+
82
+ Load `systematic-debugging` when blocked by non-trivial bugs or unstable behavior.
83
+
84
+ ---
85
+
86
+ ## Mandatory Quality Gates
87
+
88
+ These gates are non-optional in `ac-lite`.
89
+
90
+ ### Gate A: Ready to Implement
91
+
92
+ Before `openspec-apply-change`, all must be true:
93
+
94
+ - Change exists and status is valid (`acfm spec status --change <name> --json`)
95
+ - `tasks.md` exists with actionable checkboxes
96
+ - Acceptance criteria are clear in artifacts
97
+ - Required conditional skills (if triggered) were executed
98
+
99
+ If any item fails: stop, resolve, then continue.
100
+
101
+ ### Gate B: Ready to Archive
102
+
103
+ Before `openspec-archive-change`, all must be true:
104
+
105
+ - `openspec-verify-change` completed
106
+ - No CRITICAL findings remain
107
+ - Relevant tests pass for changed behavior
108
+ - Tasks are complete or explicitly accepted by user with warning
109
+
110
+ If any item fails: stop, fix, re-verify.
111
+
112
+ ---
113
+
114
+ ## Lite Workflows
115
+
116
+ ### New Change (Default Path)
117
+
118
+ 1. Run `acfm-spec-workflow` checks (`acfm spec status --json`, init if needed).
119
+ 2. Create change with `openspec-new-change` (or `openspec-ff-change` if user requests speed).
120
+ 3. Build artifacts with `openspec-continue-change` until apply-ready.
121
+ 4. Evaluate conditional gates and load only triggered skills.
122
+ 5. Pass Gate A.
123
+ 6. Implement with `openspec-apply-change`.
124
+ 7. Verify with `openspec-verify-change`.
125
+ 8. Pass Gate B.
126
+ 9. Archive with `openspec-archive-change`.
127
+
128
+ ### Existing Change (Default Path)
129
+
130
+ 1. Confirm initialization and active changes.
131
+ 2. Select target change.
132
+ 3. Refresh artifact status.
133
+ 4. Evaluate conditional gates (only load what triggers).
134
+ 5. Pass Gate A.
135
+ 6. Implement.
136
+ 7. Verify.
137
+ 8. Pass Gate B.
138
+ 9. Archive.
139
+
140
+ ---
141
+
142
+ ## Operational Rules
143
+
144
+ 1. Do not load broad quality/documentation skills by default.
145
+ 2. Do not run optional skills "just in case".
146
+ 3. If risk increases during implementation, activate the matching conditional skill immediately.
147
+ 4. Prefer deterministic CLI checks over narrative assumptions.
148
+ 5. Keep outputs concise but auditable (show which gates passed/failed and why).
149
+
150
+ ---
151
+
152
+ ## Suggested Minimal Execution Template
153
+
154
+ Use this structure in each run:
155
+
156
+ 1. **Change Context**
157
+ - Change name
158
+ - Current artifact progress
159
+
160
+ 2. **Triggered Gates**
161
+ - Security: pass/fail + reason
162
+ - Testing: pass/fail + reason
163
+ - Consistency/API/UI/Performance/Context/Debug: pass/fail + reason
164
+
165
+ 3. **Skills Loaded**
166
+ - Core: always list
167
+ - Conditional: list only triggered ones
168
+
169
+ 4. **Gate A Status**
170
+ - Ready to implement: yes/no
171
+
172
+ 5. **Implementation + Verify**
173
+ - What was implemented
174
+ - Verify findings summary
175
+
176
+ 6. **Gate B Status**
177
+ - Ready to archive: yes/no
178
+
179
+ 7. **Archive Result**
180
+ - Archive path and timestamp
181
+
182
+ ---
183
+
184
+ ## Token Strategy Summary
185
+
186
+ `ac-lite` reduces cost by replacing "load everything first" with:
187
+
188
+ - Mandatory core workflow only
189
+ - Risk-gated skill expansion
190
+ - Hard quality checkpoints at implementation and archive boundaries
191
+
192
+ This preserves software quality while avoiding unnecessary instruction/context overhead.
@@ -42,6 +42,46 @@ If you attempt to proceed without completing a required step, you MUST STOP and
42
42
  | Skill | Description | Primary Use | Required Before |
43
43
  |-------|-------------|-------------|-----------------|
44
44
  | `acfm-spec-workflow` | **START HERE - MANDATORY** - Understand the spec-driven workflow, directory structure (.acfm/ vs openspec/), and CLI commands. Essential before using any OpenSpec skills. | Foundation | **ANYTHING ELSE** |
45
+ | `acfm-memory` | **AUTONOMOUS MEMORY SYSTEM** - Persistent learning system that automatically saves important decisions, patterns, bugfixes. Use to recall context from previous changes and maintain knowledge across sessions. | Knowledge persistence | **AFTER ANY SIGNIFICANT WORK** |
46
+
47
+
48
+ ### Memory System (Automatic)
49
+
50
+ The AC Framework includes an **autonomous memory system** that learns from your work:
51
+
52
+ **What gets saved automatically:**
53
+ - Architectural decisions from proposals/designs
54
+ - Bugfix patterns and solutions
55
+ - Performance optimizations
56
+ - Refactoring techniques
57
+ - Security fixes
58
+ - API patterns and conventions
59
+
60
+ **How to use memory:**
61
+ ```bash
62
+ # Recall relevant context before starting work
63
+ acfm memory recall "implementing authentication"
64
+
65
+ # Search for specific patterns
66
+ acfm memory search "JWT token refresh"
67
+
68
+ # Get full context for current project
69
+ acfm memory recall
70
+
71
+ # View statistics
72
+ acfm memory stats
73
+ ```
74
+
75
+ **When the agent saves memory (automatic):**
76
+ 1. After completing proposal.md (saves architectural decisions)
77
+ 2. After fixing bugs (solutions are stored)
78
+ 3. After refactoring (techniques are recorded)
79
+ 4. After optimizations (performance insights)
80
+ 5. After any significant decision with confidence > 0.7
81
+
82
+ **The agent will inform you:** "💾 Memory saved: [brief description]" when auto-saving occurs.
83
+
84
+ **Privacy:** Content between `<private>...</private>` tags is automatically redacted before saving.
45
85
 
46
86
  ### OpenSpec Skills (The heart of the framework)
47
87
 
@@ -0,0 +1,192 @@
1
+ **Fundamental Principle**: *"Quality with focused context. Load only what is necessary, when it is necessary."*
2
+
3
+ ---
4
+
5
+ ## Purpose
6
+
7
+ `ac-lite` keeps the same spec-driven quality bar as `ac.md`, but reduces token usage by:
8
+
9
+ 1. Loading only the core workflow skills by default.
10
+ 2. Activating extra skills only when objective risk gates require them.
11
+ 3. Enforcing mandatory quality checkpoints before implementation and archive.
12
+
13
+ ---
14
+
15
+ ## Default Skill Set (Always Load)
16
+
17
+ These are the only mandatory skills for every change:
18
+
19
+ 1. `acfm-spec-workflow`
20
+ 2. `openspec-new-change` OR `openspec-ff-change`
21
+ 3. `openspec-continue-change`
22
+ 4. `openspec-apply-change`
23
+ 5. `openspec-verify-change`
24
+ 6. `openspec-archive-change`
25
+
26
+ ---
27
+
28
+ ## Conditional Skills (Load Only If Gate Triggers)
29
+
30
+ ### Security Gate
31
+
32
+ Load `secure-coding-cybersecurity` if the change touches any of:
33
+
34
+ - Auth/session/permissions
35
+ - User input handling or validation
36
+ - SQL/ORM queries or dynamic filters
37
+ - File paths/uploads
38
+ - Secrets/tokens/credentials
39
+ - Shell/command execution
40
+
41
+ ### Testing Gate
42
+
43
+ Load `test-generator` if:
44
+
45
+ - There are no tests for the changed behavior, or
46
+ - Existing tests do not cover acceptance criteria, or
47
+ - Regression risk is medium/high.
48
+
49
+ ### Consistency Gate
50
+
51
+ Load `spec-analysis` and `requirement-checklist` if:
52
+
53
+ - Requirements are ambiguous, or
54
+ - Change spans multiple modules, or
55
+ - Change modifies core domain behavior.
56
+
57
+ ### API Gate
58
+
59
+ Load `api-design-principles` if API contracts/endpoints/schemas are added or modified.
60
+
61
+ ### UI Gate
62
+
63
+ Load `interface-design` if dashboard/app UI behavior is introduced or changed.
64
+
65
+ ### Performance Gate
66
+
67
+ Load `performance-optimizer` if:
68
+
69
+ - The change affects hot paths, or
70
+ - Latency/throughput targets exist, or
71
+ - A performance regression is detected/suspected.
72
+
73
+ ### Context Scale Gate
74
+
75
+ Load `project-index` and/or `context-synthesizer` if:
76
+
77
+ - Codebase is large and discovery cost is high, or
78
+ - Session is long and context drift appears.
79
+
80
+ ### Debug Gate
81
+
82
+ Load `systematic-debugging` when blocked by non-trivial bugs or unstable behavior.
83
+
84
+ ---
85
+
86
+ ## Mandatory Quality Gates
87
+
88
+ These gates are non-optional in `ac-lite`.
89
+
90
+ ### Gate A: Ready to Implement
91
+
92
+ Before `openspec-apply-change`, all must be true:
93
+
94
+ - Change exists and status is valid (`acfm spec status --change <name> --json`)
95
+ - `tasks.md` exists with actionable checkboxes
96
+ - Acceptance criteria are clear in artifacts
97
+ - Required conditional skills (if triggered) were executed
98
+
99
+ If any item fails: stop, resolve, then continue.
100
+
101
+ ### Gate B: Ready to Archive
102
+
103
+ Before `openspec-archive-change`, all must be true:
104
+
105
+ - `openspec-verify-change` completed
106
+ - No CRITICAL findings remain
107
+ - Relevant tests pass for changed behavior
108
+ - Tasks are complete or explicitly accepted by user with warning
109
+
110
+ If any item fails: stop, fix, re-verify.
111
+
112
+ ---
113
+
114
+ ## Lite Workflows
115
+
116
+ ### New Change (Default Path)
117
+
118
+ 1. Run `acfm-spec-workflow` checks (`acfm spec status --json`, init if needed).
119
+ 2. Create change with `openspec-new-change` (or `openspec-ff-change` if user requests speed).
120
+ 3. Build artifacts with `openspec-continue-change` until apply-ready.
121
+ 4. Evaluate conditional gates and load only triggered skills.
122
+ 5. Pass Gate A.
123
+ 6. Implement with `openspec-apply-change`.
124
+ 7. Verify with `openspec-verify-change`.
125
+ 8. Pass Gate B.
126
+ 9. Archive with `openspec-archive-change`.
127
+
128
+ ### Existing Change (Default Path)
129
+
130
+ 1. Confirm initialization and active changes.
131
+ 2. Select target change.
132
+ 3. Refresh artifact status.
133
+ 4. Evaluate conditional gates (only load what triggers).
134
+ 5. Pass Gate A.
135
+ 6. Implement.
136
+ 7. Verify.
137
+ 8. Pass Gate B.
138
+ 9. Archive.
139
+
140
+ ---
141
+
142
+ ## Operational Rules
143
+
144
+ 1. Do not load broad quality/documentation skills by default.
145
+ 2. Do not run optional skills "just in case".
146
+ 3. If risk increases during implementation, activate the matching conditional skill immediately.
147
+ 4. Prefer deterministic CLI checks over narrative assumptions.
148
+ 5. Keep outputs concise but auditable (show which gates passed/failed and why).
149
+
150
+ ---
151
+
152
+ ## Suggested Minimal Execution Template
153
+
154
+ Use this structure in each run:
155
+
156
+ 1. **Change Context**
157
+ - Change name
158
+ - Current artifact progress
159
+
160
+ 2. **Triggered Gates**
161
+ - Security: pass/fail + reason
162
+ - Testing: pass/fail + reason
163
+ - Consistency/API/UI/Performance/Context/Debug: pass/fail + reason
164
+
165
+ 3. **Skills Loaded**
166
+ - Core: always list
167
+ - Conditional: list only triggered ones
168
+
169
+ 4. **Gate A Status**
170
+ - Ready to implement: yes/no
171
+
172
+ 5. **Implementation + Verify**
173
+ - What was implemented
174
+ - Verify findings summary
175
+
176
+ 6. **Gate B Status**
177
+ - Ready to archive: yes/no
178
+
179
+ 7. **Archive Result**
180
+ - Archive path and timestamp
181
+
182
+ ---
183
+
184
+ ## Token Strategy Summary
185
+
186
+ `ac-lite` reduces cost by replacing "load everything first" with:
187
+
188
+ - Mandatory core workflow only
189
+ - Risk-gated skill expansion
190
+ - Hard quality checkpoints at implementation and archive boundaries
191
+
192
+ This preserves software quality while avoiding unnecessary instruction/context overhead.
@@ -42,6 +42,46 @@ If you attempt to proceed without completing a required step, you MUST STOP and
42
42
  | Skill | Description | Primary Use | Required Before |
43
43
  |-------|-------------|-------------|-----------------|
44
44
  | `acfm-spec-workflow` | **START HERE - MANDATORY** - Understand the spec-driven workflow, directory structure (.acfm/ vs openspec/), and CLI commands. Essential before using any OpenSpec skills. | Foundation | **ANYTHING ELSE** |
45
+ | `acfm-memory` | **AUTONOMOUS MEMORY SYSTEM** - Persistent learning system that automatically saves important decisions, patterns, bugfixes. Use to recall context from previous changes and maintain knowledge across sessions. | Knowledge persistence | **AFTER ANY SIGNIFICANT WORK** |
46
+
47
+
48
+ ### Memory System (Automatic)
49
+
50
+ The AC Framework includes an **autonomous memory system** that learns from your work:
51
+
52
+ **What gets saved automatically:**
53
+ - Architectural decisions from proposals/designs
54
+ - Bugfix patterns and solutions
55
+ - Performance optimizations
56
+ - Refactoring techniques
57
+ - Security fixes
58
+ - API patterns and conventions
59
+
60
+ **How to use memory:**
61
+ ```bash
62
+ # Recall relevant context before starting work
63
+ acfm memory recall "implementing authentication"
64
+
65
+ # Search for specific patterns
66
+ acfm memory search "JWT token refresh"
67
+
68
+ # Get full context for current project
69
+ acfm memory recall
70
+
71
+ # View statistics
72
+ acfm memory stats
73
+ ```
74
+
75
+ **When the agent saves memory (automatic):**
76
+ 1. After completing proposal.md (saves architectural decisions)
77
+ 2. After fixing bugs (solutions are stored)
78
+ 3. After refactoring (techniques are recorded)
79
+ 4. After optimizations (performance insights)
80
+ 5. After any significant decision with confidence > 0.7
81
+
82
+ **The agent will inform you:** "💾 Memory saved: [brief description]" when auto-saving occurs.
83
+
84
+ **Privacy:** Content between `<private>...</private>` tags is automatically redacted before saving.
45
85
 
46
86
  ### OpenSpec Skills (The heart of the framework)
47
87