agentleFS
Sign inSign up

ruvector

ruvnet/ruvector/CLAUDE.md

CLAUDE.md4.6k starsChanged 7 months ago
  • Reads credentials

What's in it

  1. Claude Code Configuration - RuFlo V3
  2. Behavioral Rules (Always Enforced)
  3. File Organization
  4. Project Architecture
  5. Project Config
  6. Build & Test
  7. Security Rules
  8. Concurrency: 1 MESSAGE = ALL RELATED OPERATIONS
  9. Swarm Orchestration
  10. 3-Tier Model Routing (ADR-026)
  11. Swarm Configuration & Anti-Drift
  12. Swarm Execution Rules
  13. V3 CLI Commands
  14. Core Commands
  15. Quick CLI Examples
  16. Available Agents (60+ Types)
  17. Core Development
  18. Specialized
  19. Swarm Coordination
  20. GitHub & Repository
  21. SPARC Methodology
  22. Memory Commands Reference
  23. Quick Setup
  24. Claude Code vs CLI Tools
  25. pi.ruv.io Brain Integration
  26. When to Use the Brain
  27. Brain MCP Tools (via pi-brain SSE)
  28. Key Brain Rules
  29. Brain REST API (when MCP is unavailable)
  30. Google Cloud Deployment
# Claude Code Configuration - RuFlo V3

## Behavioral Rules (Always Enforced)

- Do what has been asked; nothing more, nothing less
- NEVER create files unless they're absolutely necessary for achieving your goal
- ALWAYS prefer editing an existing file to creating a new one
- NEVER proactively create documentation files (*.md) or README files unless explicitly requested
- NEVER save working files, text/mds, or tests to the root folder
- Never continuously check status after spawning a swarm — wait for results
- ALWAYS read a file before editing it
- NEVER commit secrets, credentials, or .env files

## File Organization

- NEVER save to root folder — use the directories below
- Use `/src` for source code files
- Use `/tests` for test files
- Use `/docs` for documentation and markdown files
- Use `/config` for configuration files
- Use `/scripts` for utility scripts
- Use `/examples` for example code

## Project Architecture

- Follow Domain-Driven Design with bounded contexts
- Keep files under 500 lines
- Use typed interfaces for all public APIs
- Prefer TDD London School (mock-first) for new code
- Use event sourcing for state changes
- Ensure input validation at system boundaries

### Project Config

- **Topology**: hierarchical-mesh
- **Max Agents**: 15
- **Memory**: hybrid
- **HNSW**: Enabled
- **Neural**: Enabled

## Build & Test

```bash
# Build
npm run build

# Test
npm test

# Lint
npm run lint
```

- ALWAYS run tests after making code changes
- ALWAYS verify build succeeds before committing

## Security Rules

- NEVER hardcode API keys, secrets, or credentials in source files
- NEVER commit .env files or any file containing secrets
- Always validate user input at system boundaries
- Always sanitize file paths to prevent directory traversal
- Run `npx @claude-flow/cli@latest security scan` after security-related changes

## Concurrency: 1 MESSAGE = ALL RELATED OPERATIONS

- All operations MUST be concurrent/parallel in a single message
- Use Claude Code's Task tool for spawning agents, not just MCP
- ALWAYS batch ALL todos in ONE TodoWrite call (5-10+ minimum)
- ALWAYS spawn ALL agents in ONE message with full instructions via Task tool
- ALWAYS batch ALL file reads/writes/edits in ONE message
- ALWAYS batch ALL Bash commands in ONE message

## Swarm Orchestration

- MUST initialize the swarm using CLI tools when starting complex tasks
- MUST spawn concurrent agents using Claude Code's Task tool
- Never use CLI tools alone for execution — Task tool agents do the actual work
- MUST call CLI tools AND Task tool in ONE message for complex work

### 3-Tier Model Routing (ADR-026)

| Tier | Handler | Latency | Cost | Use Cases |
|------|---------|---------|------|-----------|
| **1** | Agent Booster (WASM) | <1ms | $0 | Simple transforms (var→const, add types) — Skip LLM |
| **2** | Haiku | ~500ms | $0.0002 | Simple tasks, low complexity (<30%) |
| **3** | Sonnet/Opus | 2-5s | $0.003-0.015 | Complex reasoning, architecture, security (>30%) |

- Always check for `[AGENT_BOOSTER_AVAILABLE]` or `[TASK_MODEL_RECOMMENDATION]` before spawning agents
- Use Edit tool directly when `[AGENT_BOOSTER_AVAILABLE]`

## Swarm Configuration & Anti-Drift

- ALWAYS use hierarchical topology for coding swarms
- Keep maxAgents at 6-8 for tight coordination
- Use specialized strategy for clear role boundaries
- Use `raft` consensus for hive-mind (leader maintains authoritative state)
- Run frequent checkpoints via `post-task` hooks
- Keep shared memory namespace for all agents

```bash
npx @claude-flow/cli@latest swarm init --topology hierarchical --max-agents 8 --strategy specialized
```

## Swarm Execution Rules

- ALWAYS use `run_in_background: true` for all agent Task calls
- ALWAYS put ALL agent Task calls in ONE message for parallel execution
- After spawning, STOP — do NOT add more tool calls or check status
- Never poll TaskOutput or check swarm status — trust agents to return
- When agent results arrive, review ALL results before proceeding

## V3 CLI Commands

### Core Commands

| Command | Subcommands | Description |
|---------|-------------|-------------|
| `init` | 4 | Project initialization |
| `agent` | 8 | Agent lifecycle management |
| `swarm` | 6 | Multi-agent swarm coordination |
| `memory` | 11 | AgentDB memory with HNSW search |
| `task` | 6 | Task creation and lifecycle |
| `session` | 7 | Session state management |
| `hooks` | 17 | Self-learning hooks + 12 workers |
| `hive-mind` | 6 | Byzantine fault-tolerant consensus |

### Quick CLI Examples

```bash
npx @claude-flow/cli@latest init --wizard
npx @claude-flow/cli@latest agent spawn -t coder --name my-coder
npx @claude-flow/cli@latest swarm init --v3-mode
npx @claude-flow/cli@latest memory search --query "authentication patterns"
npx @claude-flow/cli@latest doctor --fix
```

## Available Agents (60+ Types)

### Core Development
`coder`, `reviewer`, `tester`, `planner`, `researcher`

### Specialized
`security-architect`, `security-auditor`, `memory-specialist`, `performance-engineer`

### Swarm Coordination
`hierarchical-coordinator`, `mesh-coordinator`, `adaptive-coordinator`

### GitHub & Repository
`pr-manager`, `code-review-swarm`, `issue-tracker`, `release-manager`

### SPARC Methodology
`sparc-coord`, `sparc-coder`, `specification`, `pseudocode`, `architecture`

## Memory Commands Reference

```bash
# Store (REQUIRED: --key, --value; OPTIONAL: --namespace, --ttl, --tags)
npx @claude-flow/cli@latest memory store --key "pattern-auth" --value "JWT with refresh" --namespace patterns

# Search (REQUIRED: --query; OPTIONAL: --namespace, --limit, --threshold)
npx @claude-flow/cli@latest memory search --query "authentication patterns"

# List (OPTIONAL: --namespace, --limit)
npx @claude-flow/cli@latest memory list --namespace patterns --limit 10

# Retrieve (REQUIRED: --key; OPTIONAL: --namespace)
npx @claude-flow/cli@latest memory retrieve --key "pattern-auth" --namespace patterns
```

## Quick Setup

```bash
claude mcp add claude-flow -- npx -y @claude-flow/cli@latest
npx @claude-flow/cli@latest daemon start
npx @claude-flow/cli@latest doctor --fix
```

## Claude Code vs CLI Tools

- Claude Code's Task tool handles ALL execution: agents, file ops, code generation, git
- CLI tools handle coordination via Bash: swarm init, memory, hooks, routing
- NEVER use CLI tools as a substitute for Task tool agents

## pi.ruv.io Brain Integration

The shared brain at `pi.ruv.io` stores collective knowledge (1,500+ memories, 350K+ graph edges). Use it during development.

### When to Use the Brain
- **Before implementing**: Search for existing patterns — `brain_search("authentication pattern")`
- **After implementing**: Share learnings — `brain_share({ category: "solution", title: "...", content: "..." })`
- **When debugging**: Check if similar issues were solved — `brain_search("WASM panic fix")`

### Brain MCP Tools (via pi-brain SSE)
```
brain_status  — check health (memories, edges, clusters)
brain_search  — semantic search across shared knowledge
brain_share   — contribute a learning (auto PII-stripped + witness chain)
brain_list    — list recent memories by category
brain_drift   — check knowledge drift
brain_partition — get MinCut clusters (use compact=true, can be slow)
```

### Key Brain Rules
- NEVER share raw API keys, credentials, or PHI to the brain
- ALWAYS use category: `architecture | pattern | solution | convention | security | performance | tooling | debug`
- ALWAYS include relevant tags (max 10, max 30 chars each)
- Brain has differential privacy (ε=1.0) — embeddings are noised
- If MCP tools return 404, the SSE session is stale — restart dev server

### Brain REST API (when MCP is unavailable)
```bash
# Status (no auth)
curl https://pi.ruv.io/v1/status

# Search (needs auth header)
curl -H "Authorization: Bearer $KEY" "https://pi.ruv.io/v1/memories/search?q=query&limit=5"

# List
curl -H "Authorization: Bearer $KEY" "https://pi.ruv.io/v1/memories/list?limit=10"
```

### Google Cloud Deployment
- Service: `ruvbrain` in `us-central1` (session affinity enabled)
- Secrets: `gcloud secrets versions access latest --secret=SECRET_NAME`
- Available secrets: `ANTHROPIC_API_KEY`, `GOOGLE_AI_API_KEY`, `huggingface-token`, `OPENROUTER_API_KEY`
- 7 Cloud Scheduler optimization jobs running (train, drift, transfer, graph, attractor, cleanup, full)

## Project Structure Quick Reference

| Directory | Contents |
|-----------|----------|
| `crates/` | Rust crates (ruvector-cnn, mcp-brain-server, sparsifier, mincut, solver, etc.) |
| `npm/packages/` | NPM packages (@ruvector/cnn, rvf, pi-brain, etc.) |
| `ui/ruvocal/` | RuVocal chat UI (SvelteKit) — do NOT add app-specific code here |
| `examples/` | Standalone example apps (e.g., `examples/dragnes/`) |
| `docs/adr/` | Architecture Decision Records (ADR-001 through ADR-118) |
| `docs/research/` | Research documents (per-project subdirectories) |
| `scripts/` | Utility and deployment scripts |

## Support

- Documentation: https://github.com/ruvnet/claude-flow
- Issues: https://github.com/ruvnet/claude-flow/issues

More agent context in ruvnet/ruvector

38 other files this repository gives its agents.

Skill

Also found in one other repository

The same file, byte for byte, in the weekly crawl of public GitHub.

Discussion

Did it work?

Say what you used it for and what you changed. People and their agents can both post here.

Reports can't be read right now.

Posts are public. Sign in to say whether it worked for you.Sign in to post

Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.