claude-flow-novice 1.3.0 → 1.3.2
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-flow-novice/preferences/generation.json +147 -0
- package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
- package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
- package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
- package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
- package/.claude-flow-novice/preferences/project-local.json +91 -0
- package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
- package/.claude-flow-novice/preferences/team-shared.json +195 -0
- package/.claude-flow-novice/preferences/user-global.json +247 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
- package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
- package/CLAUDE.md +81 -0
- package/README-NPM.md +0 -0
- package/package.json +11 -7
- package/scripts/build/README.md +167 -0
- package/scripts/build/build-config.js +27 -0
- package/scripts/build/build-prompt-copier.sh +30 -0
- package/scripts/build/performance-monitor.js +869 -0
- package/scripts/build/prepare-publish.js +150 -0
- package/scripts/build/typescript-fixer.js +621 -0
- package/scripts/build/unified-builder.sh +428 -0
- package/scripts/build/update-bin-version.js +32 -0
- package/scripts/dev/README.md +264 -0
- package/scripts/dev/claude-flow-wrapper.sh +35 -0
- package/scripts/dev/claude-monitor.py +419 -0
- package/scripts/dev/claude-sparc.sh +562 -0
- package/scripts/dev/claude-wrapper.sh +17 -0
- package/scripts/dev/demo-phase3-compliance.js +172 -0
- package/scripts/dev/demo-task-system.ts +224 -0
- package/scripts/dev/deployment-validator.js +315 -0
- package/scripts/dev/spawn-claude-terminal.sh +32 -0
- package/scripts/dev/start-portal.sh +506 -0
- package/scripts/dev/start-web-ui.js +15 -0
- package/scripts/dev/stop-portal.sh +311 -0
- package/scripts/dev/validate-examples.ts +288 -0
- package/scripts/dev/validate-phase2.cjs +451 -0
- package/scripts/dev/validate-phase2.js +785 -0
- package/scripts/dev/validate-phase3.cjs +208 -0
- package/scripts/dev/validate-security-remediation.js +1 -0
- package/scripts/legacy/README.md +272 -0
- package/scripts/legacy/batch-fix-ts.sh +54 -0
- package/scripts/legacy/build-migration.sh +105 -0
- package/scripts/legacy/build-monitor.js +209 -0
- package/scripts/legacy/build-with-filter.sh +84 -0
- package/scripts/legacy/build-workaround.sh +71 -0
- package/scripts/legacy/fix-ts-advanced.js +358 -0
- package/scripts/legacy/fix-ts-final.sh +50 -0
- package/scripts/legacy/fix-ts-targeted.sh +49 -0
- package/scripts/legacy/fix-typescript-errors.js +305 -0
- package/scripts/legacy/force-build.sh +63 -0
- package/scripts/legacy/optimize-performance.js +400 -0
- package/scripts/legacy/performance-monitor.js +263 -0
- package/scripts/legacy/performance-monitoring.js +532 -0
- package/scripts/legacy/performance-test-runner.js +645 -0
- package/scripts/legacy/quick-fix-ts.js +281 -0
- package/scripts/legacy/safe-build.sh +63 -0
- package/scripts/migration/README.md +434 -0
- package/scripts/migration/install-arm64.js +78 -0
- package/scripts/migration/install.js +83 -0
- package/scripts/migration/migrate-hooks.js +173 -0
- package/scripts/migration/migration-examples.ts +318 -0
- package/scripts/optimization/build-optimizer.js +438 -0
- package/scripts/optimization/config-validator.js +761 -0
- package/scripts/optimization/test-optimization.js +432 -0
- package/scripts/optimization/unified-activation.js +839 -0
- package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
- package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
- package/scripts/performance/test-enhanced-backend.sh +504 -0
- package/scripts/performance-test-runner.js +698 -0
- package/scripts/security/README.md +339 -0
- package/scripts/security/install-git-hooks.sh +132 -0
- package/scripts/security/ruv-swarm-safe.js +74 -0
- package/scripts/test/README.md +236 -0
- package/scripts/test/check-links.ts +274 -0
- package/scripts/test/check-performance-regression.ts +168 -0
- package/scripts/test/coverage-report.ts +692 -0
- package/scripts/test/generate-swarm-tests.js +633 -0
- package/scripts/test/integration-test-validation.cjs +253 -0
- package/scripts/test/load-test-swarm.js +576 -0
- package/scripts/test/run-phase3-compliance-tests.js +427 -0
- package/scripts/test/test-batch-tasks.ts +29 -0
- package/scripts/test/test-byzantine-resolution.js +246 -0
- package/scripts/test/test-claude-spawn-options.sh +63 -0
- package/scripts/test/test-cli-wizard.js +331 -0
- package/scripts/test/test-comprehensive.js +401 -0
- package/scripts/test/test-coordination-features.ts +238 -0
- package/scripts/test/test-fallback-systems.js +276 -0
- package/scripts/test/test-init-command.ts +302 -0
- package/scripts/test/test-mcp.ts +251 -0
- package/scripts/test/test-runner.ts +568 -0
- package/scripts/test/test-swarm-integration.sh +92 -0
- package/scripts/test/test-swarm.ts +142 -0
- package/scripts/test/validation-summary.ts +408 -0
- package/scripts/utils/README.md +261 -0
- package/scripts/utils/clean-build-artifacts.sh +94 -0
- package/scripts/utils/cleanup-root.sh +69 -0
- package/scripts/utils/fix-cliffy-imports.js +307 -0
- package/scripts/utils/fix-duplicate-imports.js +114 -0
- package/scripts/utils/fix-error-handling.cjs +70 -0
- package/scripts/utils/fix-import-paths.js +104 -0
- package/scripts/utils/fix-imports.js +116 -0
- package/scripts/utils/fix-shebang.js +78 -0
- package/scripts/utils/fix-test-modules.js +27 -0
- package/scripts/utils/fix-timezone-issue-246.js +200 -0
- package/scripts/utils/fix-ts-comprehensive.py +182 -0
- package/scripts/utils/fix-ts-targeted-batch.js +250 -0
- package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
- package/scripts/utils/simple-test-fixer.js +190 -0
- package/scripts/utils/validate-metrics-structure.cjs +144 -0
- package/scripts/verify-mcp-server.js +86 -0
- package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
- package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
- package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
- package/src/cli/simple-commands/__tests__/task.test.js +8 -0
- package/src/cli/simple-commands/agent.js +216 -0
- package/src/cli/simple-commands/analysis.js +570 -0
- package/src/cli/simple-commands/automation-executor.js +1603 -0
- package/src/cli/simple-commands/automation.js +627 -0
- package/src/cli/simple-commands/batch-manager.js +338 -0
- package/src/cli/simple-commands/claude-telemetry.js +311 -0
- package/src/cli/simple-commands/claude-track.js +102 -0
- package/src/cli/simple-commands/concurrent-display.js +348 -0
- package/src/cli/simple-commands/config.js +319 -0
- package/src/cli/simple-commands/coordination.js +307 -0
- package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
- package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
- package/src/cli/simple-commands/fix-hook-variables.js +363 -0
- package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
- package/src/cli/simple-commands/github/github-api.js +624 -0
- package/src/cli/simple-commands/github/init.js +543 -0
- package/src/cli/simple-commands/github.js +377 -0
- package/src/cli/simple-commands/goal.js +145 -0
- package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
- package/src/cli/simple-commands/hive-mind/communication.js +740 -0
- package/src/cli/simple-commands/hive-mind/core.js +1031 -0
- package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
- package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
- package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
- package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
- package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
- package/src/cli/simple-commands/hive-mind/queen.js +809 -0
- package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
- package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
- package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
- package/src/cli/simple-commands/hive-mind.js +3112 -0
- package/src/cli/simple-commands/hive.js +140 -0
- package/src/cli/simple-commands/hook-safety.js +671 -0
- package/src/cli/simple-commands/hooks.js +1268 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
- package/src/cli/simple-commands/init/README.md +106 -0
- package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
- package/src/cli/simple-commands/init/agent-copier.js +347 -0
- package/src/cli/simple-commands/init/batch-init.js +663 -0
- package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
- package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
- package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
- package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
- package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
- package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
- package/src/cli/simple-commands/init/help.js +110 -0
- package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
- package/src/cli/simple-commands/init/index.js +1953 -0
- package/src/cli/simple-commands/init/performance-monitor.js +344 -0
- package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
- package/src/cli/simple-commands/init/rollback/index.js +399 -0
- package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
- package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
- package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
- package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
- package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
- package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
- package/src/cli/simple-commands/init/sparc-structure.js +68 -0
- package/src/cli/simple-commands/init/template-copier.js +640 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
- package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
- package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
- package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
- package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
- package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
- package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
- package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
- package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
- package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
- package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
- package/src/cli/simple-commands/init/templates/coordination.md +16 -0
- package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
- package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
- package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
- package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
- package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
- package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
- package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
- package/src/cli/simple-commands/init/templates/settings.json +109 -0
- package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
- package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
- package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
- package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
- package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
- package/src/cli/simple-commands/init/validation/index.js +388 -0
- package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
- package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
- package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
- package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
- package/src/cli/simple-commands/init.js +4 -0
- package/src/cli/simple-commands/mcp-health.js +163 -0
- package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
- package/src/cli/simple-commands/mcp.js +420 -0
- package/src/cli/simple-commands/memory-consolidation.js +631 -0
- package/src/cli/simple-commands/memory.js +345 -0
- package/src/cli/simple-commands/migrate-hooks.js +63 -0
- package/src/cli/simple-commands/monitor.js +417 -0
- package/src/cli/simple-commands/neural.js +148 -0
- package/src/cli/simple-commands/pair-autofix-only.js +755 -0
- package/src/cli/simple-commands/pair-basic.js +751 -0
- package/src/cli/simple-commands/pair-old.js +623 -0
- package/src/cli/simple-commands/pair-working.js +849 -0
- package/src/cli/simple-commands/pair.js +849 -0
- package/src/cli/simple-commands/performance-hooks.js +149 -0
- package/src/cli/simple-commands/performance-metrics.js +601 -0
- package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
- package/src/cli/simple-commands/process-ui.js +274 -0
- package/src/cli/simple-commands/realtime-update-system.js +659 -0
- package/src/cli/simple-commands/sparc/architecture.js +1750 -0
- package/src/cli/simple-commands/sparc/commands.js +575 -0
- package/src/cli/simple-commands/sparc/completion.js +1831 -0
- package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
- package/src/cli/simple-commands/sparc/index.js +321 -0
- package/src/cli/simple-commands/sparc/phase-base.js +430 -0
- package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
- package/src/cli/simple-commands/sparc/refinement.js +1856 -0
- package/src/cli/simple-commands/sparc/specification.js +736 -0
- package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
- package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
- package/src/cli/simple-commands/sparc-modes/code.js +148 -0
- package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
- package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
- package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
- package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
- package/src/cli/simple-commands/sparc-modes/index.js +201 -0
- package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
- package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
- package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
- package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
- package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
- package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
- package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
- package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
- package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
- package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
- package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
- package/src/cli/simple-commands/sparc.js +530 -0
- package/src/cli/simple-commands/start-ui.js +147 -0
- package/src/cli/simple-commands/start-wrapper.js +285 -0
- package/src/cli/simple-commands/start.js +2 -0
- package/src/cli/simple-commands/status.js +303 -0
- package/src/cli/simple-commands/stream-chain-clean.js +221 -0
- package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
- package/src/cli/simple-commands/stream-chain-real.js +408 -0
- package/src/cli/simple-commands/stream-chain-working.js +323 -0
- package/src/cli/simple-commands/stream-chain.js +491 -0
- package/src/cli/simple-commands/stream-processor.js +340 -0
- package/src/cli/simple-commands/swarm-executor.js +253 -0
- package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
- package/src/cli/simple-commands/swarm-ui.js +741 -0
- package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
- package/src/cli/simple-commands/swarm.js +2277 -0
- package/src/cli/simple-commands/task.js +228 -0
- package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
- package/src/cli/simple-commands/timestamp-fix.js +104 -0
- package/src/cli/simple-commands/token-tracker.js +372 -0
- package/src/cli/simple-commands/tool-execution-framework.js +555 -0
- package/src/cli/simple-commands/train-and-stream.js +354 -0
- package/src/cli/simple-commands/training-pipeline.js +874 -0
- package/src/cli/simple-commands/training.js +288 -0
- package/src/cli/simple-commands/verification-hooks.js +336 -0
- package/src/cli/simple-commands/verification-integration.js +464 -0
- package/src/cli/simple-commands/verification-training-integration.js +646 -0
- package/src/cli/simple-commands/verification.js +551 -0
- package/src/cli/simple-commands/web-server.js +929 -0
- package/src/cli/simple-commands/webui-validator.js +136 -0
- package/src/language/README.md +503 -0
- package/src/language/claude-md-generator.js +618 -0
- package/src/language/cli.js +422 -0
- package/src/language/example.js +347 -0
- package/src/language/integration-system.js +619 -0
- package/src/language/language-detector.js +581 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
# Claude Code Configuration - SPARC Development Environment (Rust)
|
|
2
|
+
|
|
3
|
+
## 🚨 CRITICAL: CONCURRENT EXECUTION & FILE MANAGEMENT
|
|
4
|
+
|
|
5
|
+
**ABSOLUTE RULES**:
|
|
6
|
+
1. ALL operations MUST be concurrent/parallel in a single message
|
|
7
|
+
2. **NEVER save working files, text/mds and tests to the root folder**
|
|
8
|
+
3. ALWAYS organize files in appropriate subdirectories
|
|
9
|
+
4. **USE CLAUDE CODE'S TASK TOOL** for spawning agents concurrently, not just MCP
|
|
10
|
+
|
|
11
|
+
### ⚡ GOLDEN RULE: "1 MESSAGE = ALL RELATED OPERATIONS"
|
|
12
|
+
|
|
13
|
+
**MANDATORY PATTERNS:**
|
|
14
|
+
- **TodoWrite**: ALWAYS batch ALL todos in ONE call (5-10+ todos minimum)
|
|
15
|
+
- **Task tool (Claude Code)**: ALWAYS spawn ALL agents in ONE message with full instructions
|
|
16
|
+
- **File operations**: ALWAYS batch ALL reads/writes/edits in ONE message
|
|
17
|
+
- **Bash commands**: ALWAYS batch ALL terminal operations in ONE message
|
|
18
|
+
- **Memory operations**: ALWAYS batch ALL memory store/retrieve in ONE message
|
|
19
|
+
|
|
20
|
+
### 🎯 CRITICAL: Claude Code Task Tool for Agent Execution
|
|
21
|
+
|
|
22
|
+
**Claude Code's Task tool is the PRIMARY way to spawn agents:**
|
|
23
|
+
```javascript
|
|
24
|
+
// ✅ CORRECT: Use Claude Code's Task tool for parallel agent execution
|
|
25
|
+
[Single Message]:
|
|
26
|
+
Task("Rust researcher", "Analyze Rust patterns and crate ecosystem...", "researcher")
|
|
27
|
+
Task("Rust coder", "Implement core Rust modules with ownership safety...", "coder")
|
|
28
|
+
Task("Rust tester", "Create comprehensive tests with cargo test...", "tester")
|
|
29
|
+
Task("Rust reviewer", "Review code for Rust best practices and clippy...", "reviewer")
|
|
30
|
+
Task("Rust architect", "Design system architecture with Rust patterns...", "system-architect")
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 📁 Rust File Organization Rules
|
|
34
|
+
|
|
35
|
+
**NEVER save to root folder. Use Rust project structure:**
|
|
36
|
+
- `/src` - Source code files (lib.rs, main.rs, modules)
|
|
37
|
+
- `/tests` - Integration tests
|
|
38
|
+
- `/benches` - Benchmark tests
|
|
39
|
+
- `/examples` - Example code
|
|
40
|
+
- `/docs` - Documentation and markdown files
|
|
41
|
+
- `/target` - Build artifacts (auto-generated, add to .gitignore)
|
|
42
|
+
- `Cargo.toml` - Project manifest and dependencies
|
|
43
|
+
- `Cargo.lock` - Dependency lock file
|
|
44
|
+
|
|
45
|
+
## Project Overview
|
|
46
|
+
|
|
47
|
+
This Rust project uses SPARC (Specification, Pseudocode, Architecture, Refinement, Completion) methodology with Claude-Flow orchestration for systematic Test-Driven Development in Rust.
|
|
48
|
+
|
|
49
|
+
## Rust-Specific SPARC Commands
|
|
50
|
+
|
|
51
|
+
### Core Commands
|
|
52
|
+
- `npx claude-flow sparc modes` - List available modes
|
|
53
|
+
- `npx claude-flow sparc run <mode> "<rust-task>"` - Execute Rust-specific mode
|
|
54
|
+
- `npx claude-flow sparc tdd "<rust-feature>"` - Run complete TDD workflow for Rust
|
|
55
|
+
- `npx claude-flow sparc info <mode>` - Get mode details
|
|
56
|
+
|
|
57
|
+
### Rust Build Commands
|
|
58
|
+
- `cargo build` - Build project
|
|
59
|
+
- `cargo build --release` - Build optimized release
|
|
60
|
+
- `cargo test` - Run all tests (unit + integration)
|
|
61
|
+
- `cargo test --doc` - Run documentation tests
|
|
62
|
+
- `cargo bench` - Run benchmarks
|
|
63
|
+
- `cargo clippy` - Rust linter
|
|
64
|
+
- `cargo fmt` - Format code
|
|
65
|
+
- `cargo check` - Fast compilation check
|
|
66
|
+
- `cargo doc --open` - Generate and open documentation
|
|
67
|
+
- `cargo audit` - Security audit
|
|
68
|
+
- `cargo outdated` - Check outdated dependencies
|
|
69
|
+
|
|
70
|
+
### Rust Quality Commands
|
|
71
|
+
- `cargo clippy -- -D warnings` - Strict linting
|
|
72
|
+
- `cargo fmt --check` - Check formatting
|
|
73
|
+
- `cargo test --all-features` - Test with all features
|
|
74
|
+
- `cargo miri test` - Run tests with Miri (unsafe code checker)
|
|
75
|
+
|
|
76
|
+
## Rust SPARC Workflow Phases
|
|
77
|
+
|
|
78
|
+
1. **Specification** - Requirements analysis with Rust constraints (`sparc run spec-pseudocode`)
|
|
79
|
+
2. **Pseudocode** - Algorithm design with ownership in mind (`sparc run spec-pseudocode`)
|
|
80
|
+
3. **Architecture** - System design with Rust patterns (`sparc run architect`)
|
|
81
|
+
4. **Refinement** - TDD implementation with cargo test (`sparc tdd`)
|
|
82
|
+
5. **Completion** - Integration with cargo integration tests (`sparc run integration`)
|
|
83
|
+
|
|
84
|
+
## Rust Code Style & Best Practices
|
|
85
|
+
|
|
86
|
+
- **Ownership Model**: Follow Rust's ownership, borrowing, and lifetimes
|
|
87
|
+
- **Error Handling**: Use Result<T, E> and Option<T> types
|
|
88
|
+
- **Memory Safety**: Leverage Rust's compile-time guarantees
|
|
89
|
+
- **Performance**: Zero-cost abstractions and efficient algorithms
|
|
90
|
+
- **Testing**: Unit tests in modules, integration tests in /tests
|
|
91
|
+
- **Documentation**: Comprehensive rustdoc comments
|
|
92
|
+
- **Clippy Compliance**: Address all clippy warnings
|
|
93
|
+
- **Formatting**: Use rustfmt consistently
|
|
94
|
+
|
|
95
|
+
## 🚀 Rust-Specific Agents (78+ Total)
|
|
96
|
+
|
|
97
|
+
### Core Rust Development
|
|
98
|
+
`rust-coder`, `rust-reviewer`, `rust-tester`, `rust-researcher`, `rust-architect`
|
|
99
|
+
|
|
100
|
+
### Rust Ecosystem Specialists
|
|
101
|
+
`cargo-expert`, `async-rust-dev`, `unsafe-rust-auditor`, `proc-macro-dev`, `wasm-rust-dev`
|
|
102
|
+
|
|
103
|
+
### Performance & Optimization
|
|
104
|
+
`rust-perf-analyzer`, `memory-safety-auditor`, `benchmark-engineer`, `optimization-specialist`
|
|
105
|
+
|
|
106
|
+
### Crate Development
|
|
107
|
+
`crate-publisher`, `api-designer`, `dependency-manager`, `feature-gate-specialist`
|
|
108
|
+
|
|
109
|
+
### Systems Programming
|
|
110
|
+
`systems-programmer`, `embedded-rust-dev`, `network-programmer`, `concurrency-expert`
|
|
111
|
+
|
|
112
|
+
### All Standard Agents Available
|
|
113
|
+
`coder`, `reviewer`, `tester`, `planner`, `researcher`, `system-architect`, `code-analyzer`, `performance-benchmarker`, `cicd-engineer`, `security-manager`
|
|
114
|
+
|
|
115
|
+
## 🎯 Rust Development Patterns
|
|
116
|
+
|
|
117
|
+
### ✅ CORRECT RUST WORKFLOW
|
|
118
|
+
|
|
119
|
+
```javascript
|
|
120
|
+
// Step 1: Set up Rust project coordination
|
|
121
|
+
[Single Message - Coordination Setup]:
|
|
122
|
+
mcp__claude-flow__swarm_init { topology: "hierarchical", maxAgents: 6 }
|
|
123
|
+
mcp__claude-flow__agent_spawn { type: "rust-architect" }
|
|
124
|
+
mcp__claude-flow__agent_spawn { type: "rust-coder" }
|
|
125
|
+
mcp__claude-flow__agent_spawn { type: "rust-tester" }
|
|
126
|
+
|
|
127
|
+
// Step 2: Parallel Rust development execution
|
|
128
|
+
[Single Message - Parallel Agent Execution]:
|
|
129
|
+
Task("Rust architect", "Design module structure with proper ownership patterns. Store architecture in memory.", "rust-architect")
|
|
130
|
+
Task("Rust coder", "Implement core modules with safe Rust patterns. Use Result<T,E> for error handling.", "rust-coder")
|
|
131
|
+
Task("Rust tester", "Create comprehensive test suite with cargo test. Include property-based tests.", "rust-tester")
|
|
132
|
+
Task("Cargo expert", "Optimize Cargo.toml with appropriate dependencies and features.", "cargo-expert")
|
|
133
|
+
Task("Performance auditor", "Profile code with cargo bench and optimize hot paths.", "rust-perf-analyzer")
|
|
134
|
+
|
|
135
|
+
// Batch ALL Rust todos
|
|
136
|
+
TodoWrite { todos: [
|
|
137
|
+
{content: "Set up Cargo.toml with dependencies", status: "in_progress", activeForm: "Setting up Cargo.toml"},
|
|
138
|
+
{content: "Implement core module with ownership patterns", status: "pending", activeForm: "Implementing core module"},
|
|
139
|
+
{content: "Add comprehensive unit tests", status: "pending", activeForm: "Adding comprehensive unit tests"},
|
|
140
|
+
{content: "Create integration tests in /tests", status: "pending", activeForm: "Creating integration tests"},
|
|
141
|
+
{content: "Add documentation with rustdoc", status: "pending", activeForm: "Adding documentation"},
|
|
142
|
+
{content: "Run clippy and fix warnings", status: "pending", activeForm: "Running clippy and fixing warnings"},
|
|
143
|
+
{content: "Add benchmarks in /benches", status: "pending", activeForm: "Adding benchmarks"},
|
|
144
|
+
{content: "Configure CI/CD with cargo commands", status: "pending", activeForm: "Configuring CI/CD"}
|
|
145
|
+
]}
|
|
146
|
+
|
|
147
|
+
// Parallel Rust file operations
|
|
148
|
+
Write "Cargo.toml"
|
|
149
|
+
Write "src/lib.rs"
|
|
150
|
+
Write "src/main.rs"
|
|
151
|
+
Write "tests/integration_test.rs"
|
|
152
|
+
Write "benches/benchmark.rs"
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Rust Agent Coordination Protocol
|
|
156
|
+
|
|
157
|
+
### Every Rust Agent MUST:
|
|
158
|
+
|
|
159
|
+
**1️⃣ BEFORE Work:**
|
|
160
|
+
```bash
|
|
161
|
+
npx claude-flow@alpha hooks pre-task --description "[rust-task]"
|
|
162
|
+
cargo check # Verify compilation
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**2️⃣ DURING Work:**
|
|
166
|
+
```bash
|
|
167
|
+
cargo fmt # Format code
|
|
168
|
+
cargo clippy # Check for issues
|
|
169
|
+
npx claude-flow@alpha hooks post-edit --file "[file]" --memory-key "rust/[agent]/[step]"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**3️⃣ AFTER Work:**
|
|
173
|
+
```bash
|
|
174
|
+
cargo test # Verify tests pass
|
|
175
|
+
cargo doc # Update documentation
|
|
176
|
+
npx claude-flow@alpha hooks post-task --task-id "[task]"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Rust-Specific Configurations
|
|
180
|
+
|
|
181
|
+
### Cargo.toml Template
|
|
182
|
+
```toml
|
|
183
|
+
[package]
|
|
184
|
+
name = "project-name"
|
|
185
|
+
version = "0.1.0"
|
|
186
|
+
edition = "2021"
|
|
187
|
+
authors = ["Your Name <email@example.com>"]
|
|
188
|
+
license = "MIT OR Apache-2.0"
|
|
189
|
+
description = "A brief description"
|
|
190
|
+
repository = "https://github.com/username/project"
|
|
191
|
+
readme = "README.md"
|
|
192
|
+
keywords = ["rust", "cli", "utility"]
|
|
193
|
+
categories = ["command-line-utilities"]
|
|
194
|
+
|
|
195
|
+
[dependencies]
|
|
196
|
+
# Add your dependencies here
|
|
197
|
+
serde = { version = "1.0", features = ["derive"] }
|
|
198
|
+
tokio = { version = "1.0", features = ["full"] }
|
|
199
|
+
anyhow = "1.0"
|
|
200
|
+
clap = { version = "4.0", features = ["derive"] }
|
|
201
|
+
|
|
202
|
+
[dev-dependencies]
|
|
203
|
+
proptest = "1.0"
|
|
204
|
+
criterion = "0.4"
|
|
205
|
+
|
|
206
|
+
[[bench]]
|
|
207
|
+
name = "benchmarks"
|
|
208
|
+
harness = false
|
|
209
|
+
|
|
210
|
+
[features]
|
|
211
|
+
default = []
|
|
212
|
+
# Define feature flags here
|
|
213
|
+
|
|
214
|
+
[profile.release]
|
|
215
|
+
lto = true
|
|
216
|
+
codegen-units = 1
|
|
217
|
+
panic = "abort"
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### .gitignore for Rust
|
|
221
|
+
```
|
|
222
|
+
/target/
|
|
223
|
+
**/*.rs.bk
|
|
224
|
+
Cargo.lock # Remove this line if building a binary
|
|
225
|
+
.DS_Store
|
|
226
|
+
*.swp
|
|
227
|
+
*.swo
|
|
228
|
+
*~
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### rustfmt.toml
|
|
232
|
+
```toml
|
|
233
|
+
max_width = 100
|
|
234
|
+
hard_tabs = false
|
|
235
|
+
tab_spaces = 4
|
|
236
|
+
newline_style = "Unix"
|
|
237
|
+
use_small_heuristics = "Default"
|
|
238
|
+
reorder_imports = true
|
|
239
|
+
reorder_modules = true
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### clippy.toml
|
|
243
|
+
```toml
|
|
244
|
+
cognitive-complexity-threshold = 30
|
|
245
|
+
too-many-arguments-threshold = 7
|
|
246
|
+
type-complexity-threshold = 250
|
|
247
|
+
single-char-lifetime-names = true
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Testing Strategies
|
|
251
|
+
|
|
252
|
+
### Unit Tests
|
|
253
|
+
```rust
|
|
254
|
+
#[cfg(test)]
|
|
255
|
+
mod tests {
|
|
256
|
+
use super::*;
|
|
257
|
+
|
|
258
|
+
#[test]
|
|
259
|
+
fn test_function() {
|
|
260
|
+
assert_eq!(function_to_test(), expected_result);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
#[test]
|
|
264
|
+
#[should_panic]
|
|
265
|
+
fn test_panic_condition() {
|
|
266
|
+
panic_function();
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Integration Tests
|
|
272
|
+
```rust
|
|
273
|
+
// tests/integration_test.rs
|
|
274
|
+
use project_name;
|
|
275
|
+
|
|
276
|
+
#[test]
|
|
277
|
+
fn integration_test() {
|
|
278
|
+
// Test the public API
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Property-Based Tests
|
|
283
|
+
```rust
|
|
284
|
+
use proptest::prelude::*;
|
|
285
|
+
|
|
286
|
+
proptest! {
|
|
287
|
+
#[test]
|
|
288
|
+
fn property_test(input in any::<i32>()) {
|
|
289
|
+
// Property that should hold for any input
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Benchmark Tests
|
|
295
|
+
```rust
|
|
296
|
+
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
|
297
|
+
|
|
298
|
+
fn benchmark_function(c: &mut Criterion) {
|
|
299
|
+
c.bench_function("function_name", |b| {
|
|
300
|
+
b.iter(|| function_to_benchmark(black_box(input)))
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
criterion_group!(benches, benchmark_function);
|
|
305
|
+
criterion_main!(benches);
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Error Handling Patterns
|
|
309
|
+
|
|
310
|
+
### Result Type Usage
|
|
311
|
+
```rust
|
|
312
|
+
use anyhow::{Result, Context};
|
|
313
|
+
|
|
314
|
+
fn fallible_function() -> Result<String> {
|
|
315
|
+
let data = read_file("config.toml")
|
|
316
|
+
.context("Failed to read configuration file")?;
|
|
317
|
+
|
|
318
|
+
Ok(process_data(data))
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Custom Error Types
|
|
323
|
+
```rust
|
|
324
|
+
use thiserror::Error;
|
|
325
|
+
|
|
326
|
+
#[derive(Error, Debug)]
|
|
327
|
+
pub enum MyError {
|
|
328
|
+
#[error("IO error: {0}")]
|
|
329
|
+
Io(#[from] std::io::Error),
|
|
330
|
+
|
|
331
|
+
#[error("Parse error: {message}")]
|
|
332
|
+
Parse { message: String },
|
|
333
|
+
|
|
334
|
+
#[error("Validation failed")]
|
|
335
|
+
Validation,
|
|
336
|
+
}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
## Performance Optimization
|
|
340
|
+
|
|
341
|
+
### Profiling Commands
|
|
342
|
+
```bash
|
|
343
|
+
# CPU profiling
|
|
344
|
+
cargo build --release
|
|
345
|
+
perf record --call-graph=dwarf ./target/release/binary
|
|
346
|
+
perf report
|
|
347
|
+
|
|
348
|
+
# Memory profiling with valgrind
|
|
349
|
+
cargo build
|
|
350
|
+
valgrind --tool=memcheck ./target/debug/binary
|
|
351
|
+
|
|
352
|
+
# Heap profiling
|
|
353
|
+
cargo build --release
|
|
354
|
+
heaptrack ./target/release/binary
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### Optimization Techniques
|
|
358
|
+
- Use `Vec::with_capacity()` when size is known
|
|
359
|
+
- Prefer `&str` over `String` for function parameters
|
|
360
|
+
- Use `Cow<str>` for clone-on-write scenarios
|
|
361
|
+
- Consider `Box<[T]>` instead of `Vec<T>` for immutable data
|
|
362
|
+
- Use `#[inline]` for small, frequently called functions
|
|
363
|
+
|
|
364
|
+
## Documentation Standards
|
|
365
|
+
|
|
366
|
+
### Module Documentation
|
|
367
|
+
```rust
|
|
368
|
+
//! This module provides functionality for X.
|
|
369
|
+
//!
|
|
370
|
+
//! # Examples
|
|
371
|
+
//!
|
|
372
|
+
//! ```
|
|
373
|
+
//! use crate::module::function;
|
|
374
|
+
//! let result = function();
|
|
375
|
+
//! ```
|
|
376
|
+
|
|
377
|
+
/// Performs operation X on the given input.
|
|
378
|
+
///
|
|
379
|
+
/// # Arguments
|
|
380
|
+
///
|
|
381
|
+
/// * `input` - The input to process
|
|
382
|
+
///
|
|
383
|
+
/// # Returns
|
|
384
|
+
///
|
|
385
|
+
/// Returns a Result containing the processed data or an error.
|
|
386
|
+
///
|
|
387
|
+
/// # Examples
|
|
388
|
+
///
|
|
389
|
+
/// ```
|
|
390
|
+
/// let result = process_input("data").unwrap();
|
|
391
|
+
/// assert_eq!(result, "processed_data");
|
|
392
|
+
/// ```
|
|
393
|
+
pub fn process_input(input: &str) -> Result<String> {
|
|
394
|
+
// Implementation
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
## CI/CD Configuration
|
|
399
|
+
|
|
400
|
+
### GitHub Actions (.github/workflows/rust.yml)
|
|
401
|
+
```yaml
|
|
402
|
+
name: Rust CI
|
|
403
|
+
|
|
404
|
+
on: [push, pull_request]
|
|
405
|
+
|
|
406
|
+
env:
|
|
407
|
+
CARGO_TERM_COLOR: always
|
|
408
|
+
|
|
409
|
+
jobs:
|
|
410
|
+
test:
|
|
411
|
+
runs-on: ubuntu-latest
|
|
412
|
+
steps:
|
|
413
|
+
- uses: actions/checkout@v3
|
|
414
|
+
- name: Build
|
|
415
|
+
run: cargo build --verbose
|
|
416
|
+
- name: Run tests
|
|
417
|
+
run: cargo test --verbose
|
|
418
|
+
- name: Run clippy
|
|
419
|
+
run: cargo clippy -- -D warnings
|
|
420
|
+
- name: Check formatting
|
|
421
|
+
run: cargo fmt --check
|
|
422
|
+
- name: Security audit
|
|
423
|
+
run: cargo audit
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
## Advanced Rust Features
|
|
427
|
+
|
|
428
|
+
### Async Programming
|
|
429
|
+
```rust
|
|
430
|
+
use tokio;
|
|
431
|
+
|
|
432
|
+
#[tokio::main]
|
|
433
|
+
async fn main() -> Result<()> {
|
|
434
|
+
let result = async_function().await?;
|
|
435
|
+
Ok(())
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
async fn async_function() -> Result<String> {
|
|
439
|
+
// Async implementation
|
|
440
|
+
}
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### Procedural Macros
|
|
444
|
+
```rust
|
|
445
|
+
use proc_macro::TokenStream;
|
|
446
|
+
use quote::quote;
|
|
447
|
+
use syn::{parse_macro_input, DeriveInput};
|
|
448
|
+
|
|
449
|
+
#[proc_macro_derive(MyDerive)]
|
|
450
|
+
pub fn my_derive(input: TokenStream) -> TokenStream {
|
|
451
|
+
let input = parse_macro_input!(input as DeriveInput);
|
|
452
|
+
let name = input.ident;
|
|
453
|
+
|
|
454
|
+
let expanded = quote! {
|
|
455
|
+
impl MyTrait for #name {
|
|
456
|
+
// Implementation
|
|
457
|
+
}
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
TokenStream::from(expanded)
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
## Support Resources
|
|
465
|
+
|
|
466
|
+
- **Rust Documentation**: https://doc.rust-lang.org/
|
|
467
|
+
- **Cargo Guide**: https://doc.rust-lang.org/cargo/
|
|
468
|
+
- **Rust by Example**: https://doc.rust-lang.org/rust-by-example/
|
|
469
|
+
- **The Rust Programming Language**: https://doc.rust-lang.org/book/
|
|
470
|
+
- **Rust Reference**: https://doc.rust-lang.org/reference/
|
|
471
|
+
- **Clippy Documentation**: https://rust-lang.github.io/rust-clippy/
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
Remember: **Claude Flow coordinates, Claude Code creates Rust!**
|