autoworkflow 1.1.0 → 2.0.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/.claude/commands/analyze.md +77 -0
- package/.claude/commands/audit.md +220 -0
- package/.claude/commands/build.md +159 -0
- package/.claude/commands/commit.md +165 -0
- package/.claude/commands/fix.md +119 -0
- package/.claude/commands/plan.md +101 -0
- package/.claude/commands/suggest.md +195 -0
- package/.claude/commands/verify.md +113 -0
- package/.claude/settings.json +129 -0
- package/.claude/settings.local.json +9 -0
- package/.prettierrc +11 -0
- package/.vscode/extensions.json +27 -0
- package/.vscode/settings.json +69 -0
- package/.vscode/tasks.json +161 -0
- package/CLAUDE.md +344 -0
- package/README.md +180 -195
- package/eslint.config.example.js +83 -0
- package/hooks/commit-msg +137 -0
- package/hooks/pre-commit +152 -0
- package/instructions/AI_RULES.md +284 -0
- package/instructions/BLUEPRINT.md +170 -0
- package/instructions/CLAUDE.md +472 -0
- package/package.json +45 -45
- package/scripts/autoworkflow.sh +324 -0
- package/scripts/check-ui-enforcement.sh +177 -0
- package/scripts/ensure-no-errors.sh +116 -0
- package/scripts/run-verification.sh +112 -0
- package/scripts/setup.sh +201 -0
- package/system/gates.md +390 -0
- package/system/loops.md +348 -0
- package/system/router.md +415 -0
- package/system/triggers.md +369 -0
- package/tsconfig.example.json +52 -0
- package/bin/cli.js +0 -299
- package/lib/index.js +0 -9
- package/lib/install.js +0 -600
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
3
|
+
// AutoWorkflow VS Code Settings
|
|
4
|
+
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
5
|
+
|
|
6
|
+
// Editor settings
|
|
7
|
+
"editor.formatOnSave": true,
|
|
8
|
+
"editor.codeActionsOnSave": {
|
|
9
|
+
"source.fixAll.eslint": "explicit",
|
|
10
|
+
"source.organizeImports": "explicit"
|
|
11
|
+
},
|
|
12
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
13
|
+
|
|
14
|
+
// TypeScript settings
|
|
15
|
+
"typescript.tsdk": "node_modules/typescript/lib",
|
|
16
|
+
"typescript.enablePromptUseWorkspaceTsdk": true,
|
|
17
|
+
"typescript.validate.enable": true,
|
|
18
|
+
"typescript.suggestionActions.enabled": true,
|
|
19
|
+
|
|
20
|
+
// Terminal environment
|
|
21
|
+
"terminal.integrated.env.osx": {
|
|
22
|
+
"AUTOWORKFLOW": "true"
|
|
23
|
+
},
|
|
24
|
+
"terminal.integrated.env.linux": {
|
|
25
|
+
"AUTOWORKFLOW": "true"
|
|
26
|
+
},
|
|
27
|
+
"terminal.integrated.env.windows": {
|
|
28
|
+
"AUTOWORKFLOW": "true"
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
// File associations
|
|
32
|
+
"files.associations": {
|
|
33
|
+
"*.css": "tailwindcss"
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
// Tailwind CSS
|
|
37
|
+
"tailwindCSS.experimental.classRegex": [
|
|
38
|
+
["clsx\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"],
|
|
39
|
+
["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
|
|
40
|
+
],
|
|
41
|
+
|
|
42
|
+
// Search exclusions
|
|
43
|
+
"search.exclude": {
|
|
44
|
+
"**/node_modules": true,
|
|
45
|
+
"**/dist": true,
|
|
46
|
+
"**/coverage": true
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
// File exclusions from explorer
|
|
50
|
+
"files.exclude": {
|
|
51
|
+
"**/node_modules": true,
|
|
52
|
+
"**/.git": true
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
// Read-only patterns
|
|
56
|
+
"files.readonlyInclude": {
|
|
57
|
+
"**/node_modules/**": true
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
61
|
+
// AutoWorkflow Specific Settings
|
|
62
|
+
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
63
|
+
|
|
64
|
+
// Ensure key files are always visible
|
|
65
|
+
"explorer.autoReveal": true,
|
|
66
|
+
|
|
67
|
+
// Recommended extensions notification
|
|
68
|
+
"extensions.ignoreRecommendations": false
|
|
69
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "2.0.0",
|
|
3
|
+
"tasks": [
|
|
4
|
+
{
|
|
5
|
+
"label": "AutoWorkflow: Verify",
|
|
6
|
+
"detail": "Run TypeScript + ESLint verification",
|
|
7
|
+
"type": "shell",
|
|
8
|
+
"command": "npm run verify",
|
|
9
|
+
"group": {
|
|
10
|
+
"kind": "build",
|
|
11
|
+
"isDefault": true
|
|
12
|
+
},
|
|
13
|
+
"presentation": {
|
|
14
|
+
"reveal": "always",
|
|
15
|
+
"panel": "shared",
|
|
16
|
+
"clear": true
|
|
17
|
+
},
|
|
18
|
+
"problemMatcher": ["$tsc", "$eslint-stylish"]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"label": "AutoWorkflow: TypeCheck",
|
|
22
|
+
"detail": "Run TypeScript check only",
|
|
23
|
+
"type": "shell",
|
|
24
|
+
"command": "npm run typecheck",
|
|
25
|
+
"group": "build",
|
|
26
|
+
"presentation": {
|
|
27
|
+
"reveal": "always",
|
|
28
|
+
"panel": "shared"
|
|
29
|
+
},
|
|
30
|
+
"problemMatcher": "$tsc"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"label": "AutoWorkflow: Lint",
|
|
34
|
+
"detail": "Run ESLint check only",
|
|
35
|
+
"type": "shell",
|
|
36
|
+
"command": "npm run lint",
|
|
37
|
+
"group": "build",
|
|
38
|
+
"presentation": {
|
|
39
|
+
"reveal": "always",
|
|
40
|
+
"panel": "shared"
|
|
41
|
+
},
|
|
42
|
+
"problemMatcher": "$eslint-stylish"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"label": "AutoWorkflow: Lint Fix",
|
|
46
|
+
"detail": "Run ESLint with auto-fix",
|
|
47
|
+
"type": "shell",
|
|
48
|
+
"command": "npm run lint:fix",
|
|
49
|
+
"group": "build",
|
|
50
|
+
"presentation": {
|
|
51
|
+
"reveal": "always",
|
|
52
|
+
"panel": "shared"
|
|
53
|
+
},
|
|
54
|
+
"problemMatcher": "$eslint-stylish"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"label": "AutoWorkflow: Audit UI",
|
|
58
|
+
"detail": "Check for orphan features (backend without UI)",
|
|
59
|
+
"type": "shell",
|
|
60
|
+
"command": "npm run audit:ui",
|
|
61
|
+
"group": "test",
|
|
62
|
+
"presentation": {
|
|
63
|
+
"reveal": "always",
|
|
64
|
+
"panel": "shared"
|
|
65
|
+
},
|
|
66
|
+
"problemMatcher": []
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"label": "AutoWorkflow: Audit Cycles",
|
|
70
|
+
"detail": "Check for circular dependencies",
|
|
71
|
+
"type": "shell",
|
|
72
|
+
"command": "npm run audit:cycles",
|
|
73
|
+
"group": "test",
|
|
74
|
+
"presentation": {
|
|
75
|
+
"reveal": "always",
|
|
76
|
+
"panel": "shared"
|
|
77
|
+
},
|
|
78
|
+
"problemMatcher": []
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"label": "AutoWorkflow: Audit All",
|
|
82
|
+
"detail": "Run all audit checks",
|
|
83
|
+
"type": "shell",
|
|
84
|
+
"command": "npm run audit:ui && npm run audit:cycles",
|
|
85
|
+
"group": "test",
|
|
86
|
+
"presentation": {
|
|
87
|
+
"reveal": "always",
|
|
88
|
+
"panel": "shared"
|
|
89
|
+
},
|
|
90
|
+
"problemMatcher": []
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"label": "AutoWorkflow: Format",
|
|
94
|
+
"detail": "Format all files with Prettier",
|
|
95
|
+
"type": "shell",
|
|
96
|
+
"command": "npm run format",
|
|
97
|
+
"group": "build",
|
|
98
|
+
"presentation": {
|
|
99
|
+
"reveal": "always",
|
|
100
|
+
"panel": "shared"
|
|
101
|
+
},
|
|
102
|
+
"problemMatcher": []
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"label": "AutoWorkflow: Test",
|
|
106
|
+
"detail": "Run tests",
|
|
107
|
+
"type": "shell",
|
|
108
|
+
"command": "npm run test",
|
|
109
|
+
"group": "test",
|
|
110
|
+
"presentation": {
|
|
111
|
+
"reveal": "always",
|
|
112
|
+
"panel": "shared"
|
|
113
|
+
},
|
|
114
|
+
"problemMatcher": []
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"label": "AutoWorkflow: Dev Server",
|
|
118
|
+
"detail": "Start development server",
|
|
119
|
+
"type": "shell",
|
|
120
|
+
"command": "npm run dev",
|
|
121
|
+
"group": "build",
|
|
122
|
+
"isBackground": true,
|
|
123
|
+
"presentation": {
|
|
124
|
+
"reveal": "always",
|
|
125
|
+
"panel": "dedicated"
|
|
126
|
+
},
|
|
127
|
+
"problemMatcher": []
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"label": "AutoWorkflow: Full Check",
|
|
131
|
+
"detail": "Verify + Audit (pre-commit equivalent)",
|
|
132
|
+
"type": "shell",
|
|
133
|
+
"command": "npm run verify && npm run audit:ui && npm run audit:cycles",
|
|
134
|
+
"group": "test",
|
|
135
|
+
"presentation": {
|
|
136
|
+
"reveal": "always",
|
|
137
|
+
"panel": "shared"
|
|
138
|
+
},
|
|
139
|
+
"problemMatcher": ["$tsc", "$eslint-stylish"]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"label": "AutoWorkflow: Commit",
|
|
143
|
+
"detail": "Verify and commit with conventional message",
|
|
144
|
+
"type": "shell",
|
|
145
|
+
"command": "npm run verify && git add -A && git commit -m '${input:commitMessage}'",
|
|
146
|
+
"group": "build",
|
|
147
|
+
"presentation": {
|
|
148
|
+
"reveal": "always",
|
|
149
|
+
"panel": "shared"
|
|
150
|
+
},
|
|
151
|
+
"problemMatcher": "$tsc"
|
|
152
|
+
}
|
|
153
|
+
],
|
|
154
|
+
"inputs": [
|
|
155
|
+
{
|
|
156
|
+
"id": "commitMessage",
|
|
157
|
+
"type": "promptString",
|
|
158
|
+
"description": "Commit message (format: type(scope): description)"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# AutoWorkflow - System Prompt Layer
|
|
2
|
+
|
|
3
|
+
> **This file is the ENTRY POINT.** Claude MUST read this at the start of EVERY task.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Session Start - FIRST THING
|
|
8
|
+
|
|
9
|
+
**Before ANY work, run this check:**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
1. Check if instructions/BLUEPRINT.md exists
|
|
13
|
+
2. If NO → Run ONE audit → Update BOTH AI_RULES.md & BLUEPRINT.md
|
|
14
|
+
3. If YES → Read both files and proceed
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### No Blueprint? Single Audit → Dual Output
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
⚠️ No BLUEPRINT.md found in this project.
|
|
21
|
+
|
|
22
|
+
I'll run ONE audit to update TWO files:
|
|
23
|
+
|
|
24
|
+
📄 AI_RULES.md → Tech Stack & File Structure (HOW to code)
|
|
25
|
+
📘 BLUEPRINT.md → Features, Routes, APIs (WHAT exists)
|
|
26
|
+
|
|
27
|
+
Running project audit now...
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Single Audit Architecture
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
34
|
+
│ ONE AUDIT SCAN │
|
|
35
|
+
│ │
|
|
36
|
+
│ $ cat package.json → Detect tech stack │
|
|
37
|
+
│ $ find src -type d → Map file structure │
|
|
38
|
+
│ $ ls src/pages/ → Discover routes │
|
|
39
|
+
│ $ ls src/components/ → List components │
|
|
40
|
+
│ $ find src/api/ → Find API endpoints │
|
|
41
|
+
│ $ cat prisma/schema.prisma → Database models │
|
|
42
|
+
│ $ grep -r "fetch\|/api/" → Map connections │
|
|
43
|
+
│ │
|
|
44
|
+
└─────────────────────────┬────────────────────────────────────┘
|
|
45
|
+
│
|
|
46
|
+
┌─────────────┴─────────────┐
|
|
47
|
+
▼ ▼
|
|
48
|
+
┌─────────────────┐ ┌─────────────────┐
|
|
49
|
+
│ AI_RULES.md │ │ BLUEPRINT.md │
|
|
50
|
+
│ (Update) │ │ (Generate) │
|
|
51
|
+
│ │ │ │
|
|
52
|
+
│ ## Tech Stack │ │ ## Features │
|
|
53
|
+
│ - Framework: X │ │ - Feature 1 ✅ │
|
|
54
|
+
│ - Styling: Y │ │ - Feature 2 ⚠️ │
|
|
55
|
+
│ - Database: Z │ │ │
|
|
56
|
+
│ │ │ ## Routes │
|
|
57
|
+
│ ## File Struct │ │ - / → Home │
|
|
58
|
+
│ src/ │ │ - /about → ... │
|
|
59
|
+
│ ├── components │ │ │
|
|
60
|
+
│ ├── pages │ │ ## APIs │
|
|
61
|
+
│ └── ... │ │ - GET /api/x │
|
|
62
|
+
└─────────────────┘ └─────────────────┘
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**This prevents double audit runs - ONE scan updates BOTH files.**
|
|
66
|
+
|
|
67
|
+
### Audit Output Format
|
|
68
|
+
|
|
69
|
+
After scanning, present BOTH updates together:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
## 🔍 Audit Complete - Proposed Updates
|
|
73
|
+
|
|
74
|
+
### 📄 AI_RULES.md Updates
|
|
75
|
+
|
|
76
|
+
**Tech Stack** (will update):
|
|
77
|
+
- Framework: [detected]
|
|
78
|
+
- Styling: [detected]
|
|
79
|
+
- Database: [detected]
|
|
80
|
+
|
|
81
|
+
**File Structure** (will update):
|
|
82
|
+
src/
|
|
83
|
+
├── [directories found]
|
|
84
|
+
└── [file counts]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### 📘 BLUEPRINT.md (will create)
|
|
89
|
+
|
|
90
|
+
**Features Discovered:**
|
|
91
|
+
| Feature | Frontend | Backend | Route | Status |
|
|
92
|
+
|---------|----------|---------|-------|--------|
|
|
93
|
+
| Auth | LoginForm.tsx | /api/auth | /login | ✅ |
|
|
94
|
+
| Dashboard | Dashboard.tsx | /api/stats | /dashboard | ✅ |
|
|
95
|
+
| Settings | ❌ None | /api/settings | ❌ None | ⚠️ ORPHAN |
|
|
96
|
+
|
|
97
|
+
**⚠️ Issues Found:**
|
|
98
|
+
- Orphan API: /api/settings (no UI)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
**Should I save these updates?**
|
|
103
|
+
- AI_RULES.md → Update Tech Stack & File Structure sections
|
|
104
|
+
- BLUEPRINT.md → Create with discovered features
|
|
105
|
+
|
|
106
|
+
(yes/no/edit first)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
See `system/triggers.md#on:blueprint_missing` for trigger details.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## System Architecture
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
117
|
+
│ THIS FILE (Entry Point) │
|
|
118
|
+
│ Load on every task, route to system │
|
|
119
|
+
└───────────────────────────┬─────────────────────────────────┘
|
|
120
|
+
│
|
|
121
|
+
▼
|
|
122
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
123
|
+
│ system/ (Control Layer) │
|
|
124
|
+
│ │
|
|
125
|
+
│ triggers.md │ loops.md │ gates.md │ router.md │
|
|
126
|
+
│ (events) │ (cycles) │ (blocks) │ (routing) │
|
|
127
|
+
└───────────────────────────┬─────────────────────────────────┘
|
|
128
|
+
│
|
|
129
|
+
▼
|
|
130
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
131
|
+
│ instructions/ (Content Layer) │
|
|
132
|
+
│ │
|
|
133
|
+
│ CLAUDE.md │ AI_RULES.md │ BLUEPRINT.md │
|
|
134
|
+
│ (workflow) │ (standards) │ (project spec) │
|
|
135
|
+
└─────────────────────────────────────────────────────────────┘
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## On Task Start - MANDATORY
|
|
141
|
+
|
|
142
|
+
When you receive ANY task, you MUST:
|
|
143
|
+
|
|
144
|
+
### 1. Route the Task
|
|
145
|
+
Read `system/router.md` to classify:
|
|
146
|
+
- Is this a feature, fix, refactor, query, etc.?
|
|
147
|
+
- What workflow applies?
|
|
148
|
+
- What gates are required?
|
|
149
|
+
|
|
150
|
+
### 2. Load Control Systems
|
|
151
|
+
- `system/triggers.md` - Event handling
|
|
152
|
+
- `system/loops.md` - Verification cycles
|
|
153
|
+
- `system/gates.md` - Blocking checkpoints
|
|
154
|
+
|
|
155
|
+
### 3. Load Instructions
|
|
156
|
+
- `instructions/CLAUDE.md` - Workflow steps
|
|
157
|
+
- `instructions/AI_RULES.md` - Coding standards
|
|
158
|
+
- `instructions/BLUEPRINT.md` - Project requirements
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Workflow Overview
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
ANALYZE → PLAN → CONFIRM → IMPLEMENT → VERIFY → AUDIT → COMMIT → UPDATE
|
|
166
|
+
│ │ │ │ │ │ │ │
|
|
167
|
+
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
|
|
168
|
+
Read Design Wait for Write Run npm Check Create Update
|
|
169
|
+
files approach approval code verify orphans commit BLUEPRINT
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Conditional Flows
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Session Start:
|
|
176
|
+
┌─────────────────────────────────────────────────┐
|
|
177
|
+
│ Check BLUEPRINT.md exists? │
|
|
178
|
+
├─────────────────────────────────────────────────┤
|
|
179
|
+
│ NO → Run /audit project → Generate both files │
|
|
180
|
+
│ YES → Read AI_RULES.md + BLUEPRINT.md → Proceed │
|
|
181
|
+
└─────────────────────────────────────────────────┘
|
|
182
|
+
|
|
183
|
+
After Commit:
|
|
184
|
+
┌─────────────────────────────────────────────────┐
|
|
185
|
+
│ Was new feature/route/API added? │
|
|
186
|
+
├─────────────────────────────────────────────────┤
|
|
187
|
+
│ YES → Prompt to update BLUEPRINT.md │
|
|
188
|
+
│ NO → Skip update phase │
|
|
189
|
+
└─────────────────────────────────────────────────┘
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Hard Rules (NEVER Bypass)
|
|
195
|
+
|
|
196
|
+
### Blocking Gates
|
|
197
|
+
| Gate | When | Blocks If |
|
|
198
|
+
|------|------|-----------|
|
|
199
|
+
| `plan_approval_gate` | Before implement | User hasn't approved |
|
|
200
|
+
| `verify_gate` | After implement | TypeScript/ESLint errors |
|
|
201
|
+
| `audit_gate` | Before commit (features) | Orphan features or cycles |
|
|
202
|
+
| `pre_commit_gate` | Before commit | TODO/FIXME, console.log, etc. |
|
|
203
|
+
|
|
204
|
+
### Blocking Rules
|
|
205
|
+
- **No orphan features** - Backend MUST have UI
|
|
206
|
+
- **No TODO/FIXME** - Complete the work
|
|
207
|
+
- **No console.log** - No debug logs in code
|
|
208
|
+
- **No circular deps** - Clean architecture
|
|
209
|
+
- **Conventional commits** - type(scope): description
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Available Commands
|
|
214
|
+
|
|
215
|
+
| Command | Purpose |
|
|
216
|
+
|---------|---------|
|
|
217
|
+
| `/analyze [task]` | Analyze codebase for a task |
|
|
218
|
+
| `/plan [task]` | Create implementation plan |
|
|
219
|
+
| `/build [feature]` | Full workflow for features |
|
|
220
|
+
| `/verify` | Run TypeScript + ESLint |
|
|
221
|
+
| `/fix` | Fix verification errors |
|
|
222
|
+
| `/audit` | Run UI + cycle audits |
|
|
223
|
+
| `/audit project` | Full project scan → update BLUEPRINT.md |
|
|
224
|
+
| `/suggest [task]` | Generate suggestions |
|
|
225
|
+
| `/commit [msg]` | Pre-commit check + commit |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Quick Reference
|
|
230
|
+
|
|
231
|
+
### Session Start
|
|
232
|
+
```
|
|
233
|
+
Check BLUEPRINT.md exists?
|
|
234
|
+
├── NO → Run /audit project → Update AI_RULES.md + Create BLUEPRINT.md
|
|
235
|
+
└── YES → Read both → Proceed
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### For Features
|
|
239
|
+
```
|
|
240
|
+
/build [description]
|
|
241
|
+
→ Runs: ANALYZE → PLAN+SUGGEST → CONFIRM → IMPLEMENT → VERIFY → AUDIT → COMMIT → UPDATE
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### For Fixes
|
|
245
|
+
```
|
|
246
|
+
/analyze [issue] → /plan → [approval] → implement → /verify → /commit
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### For Questions
|
|
250
|
+
```
|
|
251
|
+
/analyze [question]
|
|
252
|
+
→ Returns information, no implementation
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## File Map
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
@autoworkflow/
|
|
261
|
+
├── CLAUDE.md ← YOU ARE HERE (Entry Point)
|
|
262
|
+
│
|
|
263
|
+
├── system/ ← Control Layer
|
|
264
|
+
│ ├── triggers.md Event → Action mappings
|
|
265
|
+
│ ├── loops.md Repeat-until definitions
|
|
266
|
+
│ ├── gates.md Blocking checkpoints
|
|
267
|
+
│ └── router.md Task type routing
|
|
268
|
+
│
|
|
269
|
+
├── instructions/ ← Content Layer
|
|
270
|
+
│ ├── CLAUDE.md Workflow steps
|
|
271
|
+
│ ├── AI_RULES.md Coding standards
|
|
272
|
+
│ └── BLUEPRINT.md Project specification
|
|
273
|
+
│
|
|
274
|
+
├── scripts/ ← Automation Scripts
|
|
275
|
+
│ ├── setup.sh One-command project setup
|
|
276
|
+
│ ├── autoworkflow.sh CLI orchestrator
|
|
277
|
+
│ ├── run-verification.sh Verification with output
|
|
278
|
+
│ ├── ensure-no-errors.sh Pre-commit check
|
|
279
|
+
│ └── check-ui-enforcement.sh Orphan feature detection
|
|
280
|
+
│
|
|
281
|
+
├── hooks/ ← Git Hooks
|
|
282
|
+
│ ├── pre-commit Blocks bad commits
|
|
283
|
+
│ └── commit-msg Validates commit format
|
|
284
|
+
│
|
|
285
|
+
├── .claude/ ← Claude Code Integration
|
|
286
|
+
│ ├── settings.json Settings + instructions
|
|
287
|
+
│ └── commands/ Slash command definitions
|
|
288
|
+
│ ├── analyze.md
|
|
289
|
+
│ ├── plan.md
|
|
290
|
+
│ ├── build.md
|
|
291
|
+
│ ├── verify.md
|
|
292
|
+
│ ├── fix.md
|
|
293
|
+
│ ├── audit.md
|
|
294
|
+
│ ├── suggest.md
|
|
295
|
+
│ └── commit.md
|
|
296
|
+
│
|
|
297
|
+
├── .vscode/ ← VS Code Integration
|
|
298
|
+
│ ├── settings.json Editor settings
|
|
299
|
+
│ ├── tasks.json Runnable tasks
|
|
300
|
+
│ └── extensions.json Recommended extensions
|
|
301
|
+
│
|
|
302
|
+
├── .prettierrc ← Prettier config
|
|
303
|
+
├── eslint.config.example.js ← ESLint reference
|
|
304
|
+
└── tsconfig.example.json ← TypeScript reference
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## Enforcement Summary
|
|
310
|
+
|
|
311
|
+
**Claude is the PRIMARY enforcement engine.** These files control behavior:
|
|
312
|
+
|
|
313
|
+
1. **system/triggers.md** - WHEN to act
|
|
314
|
+
2. **system/loops.md** - HOW to repeat until success
|
|
315
|
+
3. **system/gates.md** - WHAT blocks progress
|
|
316
|
+
4. **system/router.md** - WHERE to route tasks
|
|
317
|
+
5. **instructions/CLAUDE.md** - THE workflow to follow
|
|
318
|
+
6. **instructions/AI_RULES.md** - THE standards to meet
|
|
319
|
+
|
|
320
|
+
**Backup enforcement via automation:**
|
|
321
|
+
|
|
322
|
+
7. **hooks/pre-commit** - Blocks commits with errors (git hook)
|
|
323
|
+
8. **hooks/commit-msg** - Validates commit format (git hook)
|
|
324
|
+
9. **scripts/check-ui-enforcement.sh** - Detects orphan features
|
|
325
|
+
10. **scripts/autoworkflow.sh** - CLI for manual workflow runs
|
|
326
|
+
|
|
327
|
+
Claude follows the instructions. Hooks catch anything that slips through.
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Start Here
|
|
332
|
+
|
|
333
|
+
For every task:
|
|
334
|
+
1. Read this file (done)
|
|
335
|
+
2. Check if `instructions/BLUEPRINT.md` exists
|
|
336
|
+
- If NO → Run `/audit project` first
|
|
337
|
+
- If YES → Read it and proceed
|
|
338
|
+
3. Read `system/router.md` to classify task
|
|
339
|
+
4. Follow the appropriate workflow
|
|
340
|
+
5. Never skip gates
|
|
341
|
+
6. Complete features fully
|
|
342
|
+
7. Update BLUEPRINT.md after adding features
|
|
343
|
+
|
|
344
|
+
**VERIFY ALWAYS. CHECK BLUEPRINT. NO ORPHANS. ONE AUDIT → TWO FILES.**
|