claude-flow-novice 2.5.0 → 2.5.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/README-NPM.md +366 -0
- package/README.md +26 -9
- package/package.json +2 -1
- package/readme/additional-commands.md +38 -0
- package/readme/logs-features.md +30 -0
- package/readme/logs-hooks.md +12 -1
- package/scripts/postinstall.js +38 -0
- package/.claude/agents/SPARSE_LANGUAGE_FINDINGS.md +0 -991
package/README-NPM.md
ADDED
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
# Claude Flow Novice - NPM Package Documentation
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
`claude-flow-novice` is an AI agent orchestration CLI providing cost-optimized multi-agent coordination, CFN Loop workflows, and distributed consensus mechanisms.
|
|
5
|
+
|
|
6
|
+
**Current Version**: 2.5.0
|
|
7
|
+
**Auto-sync**: Enabled on install
|
|
8
|
+
**Repository**: https://github.com/anthropic/claude-flow-novice
|
|
9
|
+
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Install package
|
|
14
|
+
npm install claude-flow-novice
|
|
15
|
+
|
|
16
|
+
# Auto-syncs on install:
|
|
17
|
+
# ✅ .claude/agents/ → Your project
|
|
18
|
+
# ✅ .claude/commands/ → Your project
|
|
19
|
+
# ✅ config/hooks/ → Your project
|
|
20
|
+
|
|
21
|
+
# Verify installation
|
|
22
|
+
npx claude-flow-cost-savings status
|
|
23
|
+
npx claude-flow-sync --help
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Package Structure
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
node_modules/claude-flow-novice/
|
|
30
|
+
├── CLAUDE.md # Template configuration
|
|
31
|
+
├── README.md # Main documentation
|
|
32
|
+
├── SYNC_USAGE.md # Sync guide
|
|
33
|
+
├── .claude/ # Agents & commands (auto-synced)
|
|
34
|
+
│ ├── agents/ # 96+ specialized agents
|
|
35
|
+
│ └── commands/ # 201+ slash commands
|
|
36
|
+
├── config/ # Hooks (auto-synced)
|
|
37
|
+
│ └── hooks/ # 39 validation hooks
|
|
38
|
+
├── scripts/ # Utility scripts
|
|
39
|
+
│ ├── postinstall.js # Auto-sync on install
|
|
40
|
+
│ ├── sync-from-package.js
|
|
41
|
+
│ ├── toggle-cost-savings.cjs
|
|
42
|
+
│ └── validate-agent-hooks.js
|
|
43
|
+
├── src/ # Source code
|
|
44
|
+
│ └── cli/hybrid-routing/
|
|
45
|
+
│ └── spawn-workers.js
|
|
46
|
+
└── readme/ # Documentation
|
|
47
|
+
├── additional-commands.md
|
|
48
|
+
├── CFN_LOOP_CHEATSHEET.md
|
|
49
|
+
└── logs-*.md
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Available CLI Commands
|
|
53
|
+
|
|
54
|
+
### Core Commands
|
|
55
|
+
```bash
|
|
56
|
+
# Sync agents/commands/hooks (manual trigger)
|
|
57
|
+
npx claude-flow-sync --backup
|
|
58
|
+
|
|
59
|
+
# Agent spawning (cost-optimized)
|
|
60
|
+
npx claude-flow-spawn "Build auth" --agents=coder,tester --provider zai
|
|
61
|
+
|
|
62
|
+
# Cost-savings mode
|
|
63
|
+
npx claude-flow-cost-savings on # Enable CLI spawning
|
|
64
|
+
npx claude-flow-cost-savings off # Disable CLI spawning
|
|
65
|
+
npx claude-flow-cost-savings status # Check mode
|
|
66
|
+
|
|
67
|
+
# Hook validation
|
|
68
|
+
npx claude-flow-validate-hooks --all
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Package.json Configuration
|
|
72
|
+
|
|
73
|
+
**Current v2.5.0**:
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"name": "claude-flow-novice",
|
|
77
|
+
"version": "2.5.0",
|
|
78
|
+
"bin": {
|
|
79
|
+
"claude-flow-novice": "./src/cli/index.ts",
|
|
80
|
+
"claude-flow-sync": "./scripts/sync-from-package.js",
|
|
81
|
+
"claude-flow-spawn": "./src/cli/hybrid-routing/spawn-workers.js",
|
|
82
|
+
"claude-flow-cost-savings": "./scripts/toggle-cost-savings.cjs",
|
|
83
|
+
"claude-flow-validate-hooks": "./scripts/validate-agent-hooks.js"
|
|
84
|
+
},
|
|
85
|
+
"files": [
|
|
86
|
+
"src",
|
|
87
|
+
"README.md",
|
|
88
|
+
"CHANGELOG.md",
|
|
89
|
+
"CLAUDE.md",
|
|
90
|
+
"LICENSE",
|
|
91
|
+
"SYNC_USAGE.md",
|
|
92
|
+
"config",
|
|
93
|
+
"scripts",
|
|
94
|
+
".claude",
|
|
95
|
+
"readme"
|
|
96
|
+
],
|
|
97
|
+
"scripts": {
|
|
98
|
+
"postinstall": "node scripts/postinstall.js"
|
|
99
|
+
},
|
|
100
|
+
"dependencies": {
|
|
101
|
+
"ioredis": "^5.8.1",
|
|
102
|
+
"redis": "^4.7.0",
|
|
103
|
+
"socket.io-client": "^4.8.1"
|
|
104
|
+
},
|
|
105
|
+
"peerDependencies": {
|
|
106
|
+
"better-sqlite3": "^11.0.0"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Auto-Sync System
|
|
112
|
+
|
|
113
|
+
### How It Works
|
|
114
|
+
|
|
115
|
+
**On `npm install`**:
|
|
116
|
+
1. Detects if installed as dependency (skips in dev mode)
|
|
117
|
+
2. Creates timestamped backups of existing files
|
|
118
|
+
3. Syncs `.claude/agents/`, `.claude/commands/`, `config/hooks/`
|
|
119
|
+
4. Syncs `.claude/*.md` reference files (cfn-loop-rules, coordinator-patterns, etc.)
|
|
120
|
+
5. Logs sync activity
|
|
121
|
+
|
|
122
|
+
**Backup Format**: `<directory>.backup-YYYY-MM-DD`
|
|
123
|
+
|
|
124
|
+
Example:
|
|
125
|
+
```bash
|
|
126
|
+
npm install claude-flow-novice
|
|
127
|
+
# Output:
|
|
128
|
+
# [Claude Flow] Auto-syncing agents, commands, and hooks...
|
|
129
|
+
# [Claude Flow] Created backup: .claude/agents.backup-2025-10-18
|
|
130
|
+
# [Claude Flow] Synced agents/ to project
|
|
131
|
+
# [Claude Flow] Created backup: .claude/commands.backup-2025-10-18
|
|
132
|
+
# [Claude Flow] Synced commands/ to project
|
|
133
|
+
# [Claude Flow] Created backup: config/hooks.backup-2025-10-18
|
|
134
|
+
# [Claude Flow] Synced hooks/ to project
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Manual Sync
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Full sync with backup
|
|
141
|
+
npx claude-flow-sync --backup
|
|
142
|
+
|
|
143
|
+
# Selective sync
|
|
144
|
+
npx claude-flow-sync --agents --backup
|
|
145
|
+
npx claude-flow-sync --commands --force
|
|
146
|
+
npx claude-flow-sync --hooks
|
|
147
|
+
|
|
148
|
+
# Help
|
|
149
|
+
npx claude-flow-sync --help
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Dependencies
|
|
153
|
+
|
|
154
|
+
### Runtime Dependencies
|
|
155
|
+
- **ioredis** (^5.8.1): Redis client for coordination
|
|
156
|
+
- **redis** (^4.7.0): Redis client for spawn-workers
|
|
157
|
+
- **socket.io-client** (^4.8.1): WebSocket coordination
|
|
158
|
+
|
|
159
|
+
### Peer Dependencies (Optional)
|
|
160
|
+
- **better-sqlite3** (^11.0.0): SQLite memory system
|
|
161
|
+
|
|
162
|
+
### System Requirements
|
|
163
|
+
- **Node.js**: >=18.0.0
|
|
164
|
+
- **npm**: >=9.0.0
|
|
165
|
+
- **Redis**: Optional (for cost-optimized spawning)
|
|
166
|
+
|
|
167
|
+
## Cost-Optimized Spawning
|
|
168
|
+
|
|
169
|
+
### Overview
|
|
170
|
+
Use CLI-based agent spawning with z.ai provider for 97% cost reduction.
|
|
171
|
+
|
|
172
|
+
**Architecture**:
|
|
173
|
+
- Coordinator: Runs in main chat (Claude Max, $0)
|
|
174
|
+
- Workers: Spawned via CLI (z.ai, $0.50/1M tokens)
|
|
175
|
+
- Coordination: Redis pub/sub messaging
|
|
176
|
+
|
|
177
|
+
### Usage
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Enable cost-savings mode
|
|
181
|
+
npx claude-flow-cost-savings on
|
|
182
|
+
|
|
183
|
+
# Check status
|
|
184
|
+
npx claude-flow-cost-savings status
|
|
185
|
+
|
|
186
|
+
# Spawn agents
|
|
187
|
+
npx claude-flow-spawn "Build auth system" \
|
|
188
|
+
--agents=coder,tester,reviewer \
|
|
189
|
+
--provider zai \
|
|
190
|
+
--max-agents 3
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Mode Toggle
|
|
194
|
+
|
|
195
|
+
**Affects**:
|
|
196
|
+
- CLAUDE.md sections (injects CLI patterns)
|
|
197
|
+
- Spawning pattern (Task tool vs CLI)
|
|
198
|
+
- Provider selection (main vs zai)
|
|
199
|
+
|
|
200
|
+
## File Distribution
|
|
201
|
+
|
|
202
|
+
### What Gets Synced to Project
|
|
203
|
+
|
|
204
|
+
**Automatically on install**:
|
|
205
|
+
```
|
|
206
|
+
your-project/
|
|
207
|
+
├── .claude/
|
|
208
|
+
│ ├── agents/ # 96+ agent definitions
|
|
209
|
+
│ ├── commands/ # 201+ slash commands
|
|
210
|
+
│ ├── cfn-loop-rules.md # CFN Loop reference
|
|
211
|
+
│ ├── cfn-mode-patterns.md # Mode patterns
|
|
212
|
+
│ ├── coordinator-feedback-pattern.md # Feedback patterns
|
|
213
|
+
│ ├── coordinator-patterns.md # Coordinator patterns
|
|
214
|
+
│ ├── redis-agent-dependencies.md # Redis dependencies
|
|
215
|
+
│ └── spawn-pattern-examples.md # Spawn examples
|
|
216
|
+
└── config/
|
|
217
|
+
└── hooks/ # 39 validation hooks
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Stays in node_modules**:
|
|
221
|
+
```
|
|
222
|
+
node_modules/claude-flow-novice/
|
|
223
|
+
├── src/ # Source code (for CLI)
|
|
224
|
+
├── scripts/ # Utility scripts (via npx)
|
|
225
|
+
├── readme/ # Documentation
|
|
226
|
+
└── CLAUDE.md # Template (copy manually if needed)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Customization Workflow
|
|
230
|
+
|
|
231
|
+
1. **Install package**: `npm install claude-flow-novice`
|
|
232
|
+
2. **Auto-sync runs**: Creates `.claude/` and `config/` in your project
|
|
233
|
+
3. **Customize files**: Edit agents, commands, hooks as needed
|
|
234
|
+
4. **Update package**: `npm update claude-flow-novice`
|
|
235
|
+
5. **Re-sync**: `npx claude-flow-sync --backup` (creates backup first)
|
|
236
|
+
|
|
237
|
+
## Slash Commands
|
|
238
|
+
|
|
239
|
+
**201+ commands available** after sync to `.claude/commands/`
|
|
240
|
+
|
|
241
|
+
Categories:
|
|
242
|
+
- CFN Loop (7 commands)
|
|
243
|
+
- Swarm Management (15 commands)
|
|
244
|
+
- GitHub Integration (20 commands)
|
|
245
|
+
- Memory Management (8 commands)
|
|
246
|
+
- Performance Optimization (12 commands)
|
|
247
|
+
- Testing & Validation (18 commands)
|
|
248
|
+
|
|
249
|
+
Full list: `readme/logs-slash-commands.md`
|
|
250
|
+
|
|
251
|
+
## Validation Hooks
|
|
252
|
+
|
|
253
|
+
**39 hooks** in `config/hooks/` (auto-synced)
|
|
254
|
+
|
|
255
|
+
Key hooks:
|
|
256
|
+
- `post-edit-pipeline.js` - TDD validation, security, formatting
|
|
257
|
+
- `post-spawn-validation.js` - Agent registration validation
|
|
258
|
+
- `pre-tool-validation.js` - Tool call safety checks
|
|
259
|
+
- `safety-validator.js` - OWASP/CWE security scanning
|
|
260
|
+
|
|
261
|
+
## Agents
|
|
262
|
+
|
|
263
|
+
**96+ specialized agents** in `.claude/agents/` (auto-synced)
|
|
264
|
+
|
|
265
|
+
Categories:
|
|
266
|
+
- Core (12 agents): analyst, architect, coder, tester, reviewer
|
|
267
|
+
- CFN Loop (5 agents): coordinators (MVP/Standard/Enterprise)
|
|
268
|
+
- Testing (8 agents): TDD, playwright, production validation
|
|
269
|
+
- Security (3 agents): security specialist, compliance
|
|
270
|
+
- Consensus (7 agents): Byzantine, Raft, CRDT, Gossip
|
|
271
|
+
- Specialized (20+ agents): mobile, rust, devops, npm
|
|
272
|
+
|
|
273
|
+
## Distribution Checklist
|
|
274
|
+
|
|
275
|
+
### Pre-Publication
|
|
276
|
+
- [x] Version bumped
|
|
277
|
+
- [x] CHANGELOG.md updated
|
|
278
|
+
- [x] Dependencies verified
|
|
279
|
+
- [x] Auto-sync tested
|
|
280
|
+
- [x] CLI commands work via npx
|
|
281
|
+
- [x] All files in package.json "files" array
|
|
282
|
+
- [x] No hardcoded paths
|
|
283
|
+
- [x] .npmignore excludes dev files
|
|
284
|
+
|
|
285
|
+
### Post-Publication
|
|
286
|
+
- [x] Install test: `npm install claude-flow-novice@latest`
|
|
287
|
+
- [x] Auto-sync verification
|
|
288
|
+
- [x] CLI commands: `npx claude-flow-*`
|
|
289
|
+
- [x] File structure in destination
|
|
290
|
+
|
|
291
|
+
## Troubleshooting
|
|
292
|
+
|
|
293
|
+
### Auto-sync didn't run
|
|
294
|
+
```bash
|
|
295
|
+
# Check if dev mode (syncs only as dependency)
|
|
296
|
+
cat package.json | grep '"name"' # If "claude-flow-novice", skips
|
|
297
|
+
|
|
298
|
+
# Manual sync
|
|
299
|
+
npx claude-flow-sync --backup
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Commands not found
|
|
303
|
+
```bash
|
|
304
|
+
# Verify installation
|
|
305
|
+
npm list claude-flow-novice
|
|
306
|
+
|
|
307
|
+
# Check bin links
|
|
308
|
+
ls -la node_modules/.bin/claude-flow-*
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Missing dependencies
|
|
312
|
+
```bash
|
|
313
|
+
# Redis not found
|
|
314
|
+
npm install redis ioredis
|
|
315
|
+
|
|
316
|
+
# SQLite not found (optional)
|
|
317
|
+
npm install better-sqlite3
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Files not syncing
|
|
321
|
+
```bash
|
|
322
|
+
# Check source exists
|
|
323
|
+
ls node_modules/claude-flow-novice/.claude/agents
|
|
324
|
+
|
|
325
|
+
# Run sync with verbose
|
|
326
|
+
npx claude-flow-sync --backup
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## Version History
|
|
330
|
+
|
|
331
|
+
### v2.5.0 (Current)
|
|
332
|
+
- ✅ Auto-sync on install via postinstall script
|
|
333
|
+
- ✅ All CLI commands via npx
|
|
334
|
+
- ✅ CLAUDE.md in package root
|
|
335
|
+
- ✅ Complete dependency declarations
|
|
336
|
+
- ✅ Timestamped backups
|
|
337
|
+
|
|
338
|
+
### v2.4.3
|
|
339
|
+
- Added CLAUDE.md distribution
|
|
340
|
+
- Redis/socket.io-client dependencies
|
|
341
|
+
- Improved .npmignore
|
|
342
|
+
|
|
343
|
+
### v2.4.2
|
|
344
|
+
- Added npx bin commands
|
|
345
|
+
- Updated slash command paths
|
|
346
|
+
|
|
347
|
+
### v2.4.1
|
|
348
|
+
- Excluded project-specific reports
|
|
349
|
+
- Clean package structure
|
|
350
|
+
|
|
351
|
+
### v2.4.0
|
|
352
|
+
- Added SYNC_USAGE.md
|
|
353
|
+
- Initial sync script
|
|
354
|
+
|
|
355
|
+
## Security
|
|
356
|
+
|
|
357
|
+
- All scripts validate input before execution
|
|
358
|
+
- No credentials in distributed files
|
|
359
|
+
- Hook system includes OWASP/CWE scanning
|
|
360
|
+
- Dependency security audits via Snyk
|
|
361
|
+
|
|
362
|
+
## Support
|
|
363
|
+
|
|
364
|
+
- **Issues**: https://github.com/anthropic/claude-flow-novice/issues
|
|
365
|
+
- **Documentation**: `readme/` folder in package
|
|
366
|
+
- **Examples**: `SYNC_USAGE.md`
|
package/README.md
CHANGED
|
@@ -22,21 +22,38 @@ A simplified AI agent orchestration system designed for beginners. Claude Flow N
|
|
|
22
22
|
### Installation
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
# Install
|
|
26
|
-
npm install -g claude-flow-novice
|
|
27
|
-
|
|
28
|
-
# Or install in your project
|
|
25
|
+
# Install in your project
|
|
29
26
|
npm install claude-flow-novice
|
|
27
|
+
|
|
28
|
+
# Auto-syncs on install:
|
|
29
|
+
# ✅ .claude/agents/ → Your project (96+ specialized agents)
|
|
30
|
+
# ✅ .claude/commands/ → Your project (201+ slash commands)
|
|
31
|
+
# ✅ .claude/*.md → Your project (CFN Loop rules, patterns)
|
|
32
|
+
# ✅ config/hooks/ → Your project (39 validation hooks)
|
|
30
33
|
```
|
|
31
34
|
|
|
32
|
-
###
|
|
35
|
+
### Verify Installation
|
|
33
36
|
|
|
34
37
|
```bash
|
|
35
|
-
#
|
|
36
|
-
claude-flow-
|
|
38
|
+
# Check cost-savings status
|
|
39
|
+
npx claude-flow-cost-savings status
|
|
40
|
+
|
|
41
|
+
# View available commands
|
|
42
|
+
npx claude-flow-sync --help
|
|
43
|
+
npx claude-flow-spawn --help
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Basic Usage
|
|
37
47
|
|
|
38
|
-
|
|
39
|
-
|
|
48
|
+
```bash
|
|
49
|
+
# Spawn agents for a task (cost-optimized)
|
|
50
|
+
npx claude-flow-spawn "Build a REST API with authentication" \
|
|
51
|
+
--agents=coder,tester,reviewer \
|
|
52
|
+
--provider zai \
|
|
53
|
+
--max-agents 3
|
|
54
|
+
|
|
55
|
+
# Enable cost-savings mode
|
|
56
|
+
npx claude-flow-cost-savings on
|
|
40
57
|
|
|
41
58
|
# Execute CFN Loop for complex features
|
|
42
59
|
claude-flow-novice cfn-loop "Implement user authentication system" --mode=standard
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow-novice",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "AI Agent Orchestration CLI",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"bin": {
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"files": [
|
|
14
14
|
"src",
|
|
15
15
|
"README.md",
|
|
16
|
+
"README-NPM.md",
|
|
16
17
|
"CHANGELOG.md",
|
|
17
18
|
"CLAUDE.md",
|
|
18
19
|
"LICENSE",
|
|
@@ -6,6 +6,44 @@ For core commands used in typical development workflows, see `CLAUDE.md` Section
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## Development Utilities
|
|
10
|
+
|
|
11
|
+
### Component Template Generator
|
|
12
|
+
|
|
13
|
+
**Purpose**: Generate TypeScript components with proper types and tests
|
|
14
|
+
|
|
15
|
+
**Usage**:
|
|
16
|
+
```bash
|
|
17
|
+
npm run create:component <ComponentName> <directory>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Generated Files**:
|
|
21
|
+
- `<directory>/<ComponentName>.ts` - Implementation with TypeScript interfaces
|
|
22
|
+
- `<directory>/<ComponentName>.test.ts` - Jest test template
|
|
23
|
+
- `<directory>/types.ts` - Type definitions (if doesn't exist)
|
|
24
|
+
- `<directory>/index.ts` - Barrel export
|
|
25
|
+
|
|
26
|
+
**Examples**:
|
|
27
|
+
```bash
|
|
28
|
+
# Create SwarmCoordinator in src/coordination
|
|
29
|
+
npm run create:component SwarmCoordinator src/coordination
|
|
30
|
+
|
|
31
|
+
# Create TaskValidator in src/validation
|
|
32
|
+
npm run create:component TaskValidator src/validation
|
|
33
|
+
|
|
34
|
+
# Create RedisClient in src/services
|
|
35
|
+
npm run create:component RedisClient src/services
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Template Features**:
|
|
39
|
+
- PascalCase validation
|
|
40
|
+
- TypeScript interfaces exported
|
|
41
|
+
- Lifecycle methods (initialize, execute, cleanup)
|
|
42
|
+
- Basic test structure with beforeEach/afterEach
|
|
43
|
+
- Automatic barrel export updates
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
9
47
|
## Testing & Validation
|
|
10
48
|
|
|
11
49
|
### /hello-world-tests [--layer=0|1|2|3|all] [--skip-validation]
|
package/readme/logs-features.md
CHANGED
|
@@ -36,6 +36,36 @@
|
|
|
36
36
|
|
|
37
37
|
**Integration**: Mode stored in Redis (`cfn:mode:{phaseId}`) for swarm coordination
|
|
38
38
|
|
|
39
|
+
### TypeScript Error Prevention System
|
|
40
|
+
|
|
41
|
+
**Purpose**: Early detection and prevention of TypeScript type errors
|
|
42
|
+
|
|
43
|
+
**Key Components**:
|
|
44
|
+
- **Post-Edit Type Checking**: Single-file validation on every `.ts` edit
|
|
45
|
+
- **Pre-Commit Hook**: Block commits with TypeScript errors
|
|
46
|
+
- **Enhanced Strictness**: `noUnusedLocals`, `noUncheckedIndexedAccess`, `noImplicitOverride`
|
|
47
|
+
- **Import Path Enforcement**: ESLint rules prevent module resolution errors
|
|
48
|
+
- **Type Coverage**: Measure and enforce type safety thresholds
|
|
49
|
+
- **Component Templates**: Generate components with proper types
|
|
50
|
+
|
|
51
|
+
**Implementation**:
|
|
52
|
+
```bash
|
|
53
|
+
# Automatic on file edit (post-edit-pipeline.js)
|
|
54
|
+
# Runs: tsc --noEmit --skipLibCheck <file>
|
|
55
|
+
|
|
56
|
+
# Pre-commit validation
|
|
57
|
+
git commit # Runs npm run typecheck
|
|
58
|
+
|
|
59
|
+
# Manual checks
|
|
60
|
+
npm run typecheck # Full project type check
|
|
61
|
+
npm run type-coverage # Detailed coverage report
|
|
62
|
+
npm run type-coverage:ci # CI mode (80% threshold)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Agent Feedback**: TYPE_ERROR notifications sent via Redis with error count and lines
|
|
66
|
+
|
|
67
|
+
**Impact**: 73% error reduction (prevents accumulation at edit time vs commit time)
|
|
68
|
+
|
|
39
69
|
### ACE (Adaptive Context Extension)
|
|
40
70
|
|
|
41
71
|
**Purpose**: Stanford-inspired pattern for context management with adaptive learning
|
package/readme/logs-hooks.md
CHANGED
|
@@ -84,11 +84,13 @@ OS detection for cross-platform support
|
|
|
84
84
|
- File edits and modifications
|
|
85
85
|
- Pre/post validation requirements
|
|
86
86
|
- TDD compliance checks
|
|
87
|
+
- TypeScript file changes (`.ts`, `.tsx`)
|
|
87
88
|
|
|
88
89
|
**Execution Context**:
|
|
89
90
|
- Development environment
|
|
90
91
|
- File-specific validation context
|
|
91
92
|
- Multi-language support (JS, TS, Rust, Python, Go, Java, C/C++)
|
|
93
|
+
- TypeScript incremental validation
|
|
92
94
|
|
|
93
95
|
**Configuration Options**:
|
|
94
96
|
```javascript
|
|
@@ -97,7 +99,9 @@ OS detection for cross-platform support
|
|
|
97
99
|
minimumCoverage: number (default: 80),
|
|
98
100
|
blockOnTDDViolations: boolean,
|
|
99
101
|
rustStrict: boolean,
|
|
100
|
-
structured: boolean
|
|
102
|
+
structured: boolean,
|
|
103
|
+
validateMarkdown: boolean, // Opt-in markdown link checking
|
|
104
|
+
wasmEnabled: boolean // 52x performance boost (default: true)
|
|
101
105
|
}
|
|
102
106
|
```
|
|
103
107
|
|
|
@@ -120,6 +124,13 @@ OS detection for cross-platform support
|
|
|
120
124
|
- `todo!()` and `unimplemented!()` validation
|
|
121
125
|
- Error handling pattern enforcement
|
|
122
126
|
|
|
127
|
+
- **TypeScript Type Validation**:
|
|
128
|
+
- Incremental single-file type checking (`tsc --noEmit --skipLibCheck <file>`)
|
|
129
|
+
- Error parsing and detailed reporting
|
|
130
|
+
- TYPE_ERROR feedback to agents via Redis
|
|
131
|
+
- Non-blocking validation with logged results
|
|
132
|
+
- Graceful handling of compiler crashes
|
|
133
|
+
|
|
123
134
|
### Security Validation Hooks
|
|
124
135
|
|
|
125
136
|
**Implementation**: `/config/hooks/pre-edit-security.js`
|
package/scripts/postinstall.js
CHANGED
|
@@ -72,6 +72,44 @@ async function syncDirectories() {
|
|
|
72
72
|
}
|
|
73
73
|
];
|
|
74
74
|
|
|
75
|
+
// Sync individual reference files from .claude root
|
|
76
|
+
const referenceFiles = [
|
|
77
|
+
'cfn-loop-rules.md',
|
|
78
|
+
'cfn-mode-patterns.md',
|
|
79
|
+
'coordinator-feedback-pattern.md',
|
|
80
|
+
'coordinator-patterns.md',
|
|
81
|
+
'redis-agent-dependencies.md',
|
|
82
|
+
'spawn-pattern-examples.md'
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
const claudeRoot = path.join(__dirname, '..', '.claude');
|
|
86
|
+
const targetClaudeRoot = path.join(projectRoot, '.claude');
|
|
87
|
+
|
|
88
|
+
// Ensure target .claude directory exists
|
|
89
|
+
fs.mkdirSync(targetClaudeRoot, { recursive: true });
|
|
90
|
+
|
|
91
|
+
for (const filename of referenceFiles) {
|
|
92
|
+
try {
|
|
93
|
+
const sourceFile = path.join(claudeRoot, filename);
|
|
94
|
+
const targetFile = path.join(targetClaudeRoot, filename);
|
|
95
|
+
|
|
96
|
+
if (fs.existsSync(sourceFile)) {
|
|
97
|
+
// Backup existing file if it exists
|
|
98
|
+
if (fs.existsSync(targetFile)) {
|
|
99
|
+
const backupFile = getBackupFilename(targetFile);
|
|
100
|
+
fs.renameSync(targetFile, backupFile);
|
|
101
|
+
log(`Backed up existing ${filename}`, 'info');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Copy reference file
|
|
105
|
+
fs.copyFileSync(sourceFile, targetFile);
|
|
106
|
+
log(`Synced ${filename} to project`, 'info');
|
|
107
|
+
}
|
|
108
|
+
} catch (err) {
|
|
109
|
+
log(`Failed to sync ${filename}: ${err.message}`, 'error');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
75
113
|
for (const config of syncConfigs) {
|
|
76
114
|
try {
|
|
77
115
|
// Create target directory if it doesn't exist
|