Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
09e0a83
Rewrite CLAUDE.md with standard prefix and architectural depth
claude Mar 19, 2026
0ec94ae
fix: resolve 10 issues from analysis v1.2.1 — bump to v1.2.2
claude Mar 19, 2026
56bc2ed
feat: close 3 broken synergies — error promotion, gap capture, rule g…
claude Mar 19, 2026
0d7c5fe
feat: close dimension weaknesses — watch, scout, agent memory, trending
claude Mar 19, 2026
515397d
chore: polish pending items — agent-memory template, README, sources
claude Mar 19, 2026
6be3b73
feat: prepare repo for open source release
claude Mar 19, 2026
91d9511
docs: make all documentation bilingual (English + Spanish)
claude Mar 19, 2026
8fb6d89
docs: highlight unique differentiators across repo documentation
claude Mar 19, 2026
9f5b176
Add roadmap v1.2.3–v1.5.0 with competitive insights
claude Mar 20, 2026
d2fcaf9
Add detailed roadmap explanation document
claude Mar 20, 2026
6eb2c6e
Add roadmap impact analysis document
claude Mar 20, 2026
0c3da8e
Implement v1.2.3 — hardening & quick wins
claude Mar 20, 2026
51b5b26
Implement v1.3.0 — stack expansion & cross-tool features
claude Mar 20, 2026
fbb308e
Implement v1.4.0 — distribution & plugin packaging
claude Mar 20, 2026
94c3481
Implement v1.5.0 — intelligence & analytics
claude Mar 20, 2026
29edc6c
Add v1.6.0 and v1.7.0 to roadmap from backlog
claude Mar 20, 2026
623141e
Update documentation for v1.2.3–v1.5.0
claude Mar 20, 2026
cac8078
Add comprehensive test plan for v1.5.0
claude Mar 20, 2026
ef26858
Fix sync.sh home directory detection when running as root
claude Mar 20, 2026
834cb97
Rewrite sync.sh for cross-platform support (Linux, macOS, Windows)
claude Mar 20, 2026
f9c3426
Add frontmatter to forge.md so Claude Code registers it as /forge
claude Mar 20, 2026
1f23d9f
Add forge.md command to project .claude/commands/
claude Mar 20, 2026
aea318b
Add agent-memory directories for persistent agents
claude Mar 20, 2026
05c5c5a
Add individual /forge-* subcommands with autocomplete support
claude Mar 20, 2026
da274d7
Separate project commands from global forge commands
claude Mar 20, 2026
4ef23e2
Fix: use file copies for commands instead of symlinks
claude Mar 20, 2026
accb83e
Register claude-kit self-audit in registry (10.0/10)
claude Mar 20, 2026
e45b685
Add comprehensive usage guide for claude-kit
claude Mar 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 106 additions & 0 deletions .claude-plugin/INSTALL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# claude-kit Installation

## Full Mode (recommended)

Full mode gives access to all features including `/forge` commands, agents, and practices pipeline.

### Linux

```bash
git clone https://github.com/luiseiman/claude-kit.git ~/claude-kit
cd ~/claude-kit && ./global/sync.sh
```

### macOS

```bash
git clone https://github.com/luiseiman/claude-kit.git ~/claude-kit
cd ~/claude-kit && ./global/sync.sh
```

> Requires bash 3.2+ (pre-installed on macOS). If using Homebrew bash, both work.

### Windows (WSL — recommended)

```bash
# From WSL terminal:
git clone https://github.com/luiseiman/claude-kit.git ~/claude-kit
cd ~/claude-kit && ./global/sync.sh
```

### Windows (Git Bash)

```bash
# From Git Bash:
git clone https://github.com/luiseiman/claude-kit.git ~/claude-kit
cd ~/claude-kit && ./global/sync.sh
```

> Symlinks require Developer Mode enabled in Windows Settings > Privacy & Security > For Developers. If symlinks are not available, `sync.sh` automatically falls back to file copies.

### After installation

In any project directory:
```
/forge bootstrap # Initialize .claude/ with full config
/forge audit # Audit configuration and get a score (0-10)
/forge sync # Update config against current template
```

### Explicit target directory

If `sync.sh` detects the wrong home directory, override with:
```bash
CLAUDE_HOME=/path/to/.claude ./global/sync.sh
```

## Plugin Mode (lightweight)

Plugin mode installs a curated subset: hooks, rules, and commands.
Skills, agents, and practices pipeline require the full repository.

### What's included

| Component | Included | Notes |
|-----------|----------|-------|
| block-destructive hook | yes | PreToolUse, blocks dangerous commands |
| lint-on-save hook | yes | PostToolUse, auto-lint on file write |
| warn-missing-test hook | yes | PostToolUse, strict profile only |
| Common rules | yes | _common.md, memory.md, agents.md |
| Commands | yes | audit, health, review, debug |
| Skills (/forge) | no | Requires full repo |
| Agents (6 subagents) | no | Requires full repo |
| Practices pipeline | no | Requires full repo |
| Stack rules | selectable | Pick stacks during install |

### Installation

```bash
# When Claude Code plugin system is available:
claude plugin install claude-kit

# Until then, use git clone + sync.sh (see Full Mode above)
```

## Stack Plugins

Individual stacks are also available as standalone plugins:

```bash
# When plugin system supports composition:
claude plugin install claude-kit-stack-python-fastapi
claude plugin install claude-kit-stack-react-vite-ts
```

Each stack plugin includes its `rules/*.md` and `settings.json.partial`.
Multiple stack plugins compose via permission union merge.

## Troubleshooting

| Problem | Solution |
|---------|----------|
| `/forge` not found after install | Run `sync.sh` again — check that target path matches your `~/.claude/` |
| Symlinks installed in wrong home | Set `CLAUDE_HOME` explicitly: `CLAUDE_HOME=~/.claude ./global/sync.sh` |
| Windows: "symlink not supported" | Enable Developer Mode, or let sync.sh use file copies (automatic) |
| macOS: "permission denied" on sync.sh | Run `chmod +x global/sync.sh` first |
| WSL: changes not visible in Windows | Claude Code should be run from WSL, not Windows cmd |
71 changes: 71 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"name": "claude-kit",
"version": "1.5.0",
"description": "Configuration factory for Claude Code — templates, stacks, hooks, rules, and audit tools",
"author": "luiseiman",
"license": "MIT",
"repository": "https://github.com/luiseiman/claude-kit",
"keywords": ["claude-code", "configuration", "hooks", "rules", "audit"],
"components": {
"hooks": [
{
"file": "template/hooks/block-destructive.sh",
"event": "PreToolUse",
"matcher": "Bash",
"description": "Block dangerous bash commands (rm -rf, DROP TABLE, force push)"
},
{
"file": "template/hooks/lint-on-save.sh",
"event": "PostToolUse",
"matcher": "Write",
"description": "Auto-lint on file save (Python, TypeScript, Swift)"
},
{
"file": "template/hooks/warn-missing-test.sh",
"event": "PostToolUse",
"matcher": "Write",
"description": "Warn when creating source files without tests (strict profile)"
},
{
"file": "template/hooks/session-report.sh",
"event": "Stop",
"matcher": null,
"description": "Generate session report on session end (requires FORGE_SESSION_REPORT=true)"
}
],
"rules": [
"template/rules/_common.md",
"template/rules/memory.md",
"template/rules/agents.md"
],
"commands": [
"template/commands/audit.md",
"template/commands/health.md",
"template/commands/review.md",
"template/commands/debug.md"
]
},
"stacks": [
"python-fastapi",
"react-vite-ts",
"swift-swiftui",
"supabase",
"docker-deploy",
"data-analysis",
"gcp-cloud-run",
"redis",
"node-express",
"java-spring",
"aws-deploy",
"go-api",
"devcontainer"
],
"install": {
"method": "git-clone",
"postInstall": "global/sync.sh",
"note": "Plugin mode installs hooks + rules + commands only. For full features (skills, agents, practices), use git clone + global/sync.sh"
},
"requires": {
"claudeCode": ">=1.0.0"
}
}
3 changes: 3 additions & 0 deletions .claude/agent-memory/architect/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# architect memory

Learnings and discoveries from architect agent sessions.
3 changes: 3 additions & 0 deletions .claude/agent-memory/code-reviewer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# code-reviewer memory

Learnings and discoveries from code-reviewer agent sessions.
3 changes: 3 additions & 0 deletions .claude/agent-memory/implementer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# implementer memory

Learnings and discoveries from implementer agent sessions.
3 changes: 3 additions & 0 deletions .claude/agent-memory/security-auditor/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# security-auditor memory

Learnings and discoveries from security-auditor agent sessions.
4 changes: 2 additions & 2 deletions .claude/commands/audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Ejecutá una auditoría del proyecto actual contra la plantilla claude-kit.
- `app.yaml`, `cloudbuild.yaml`, `gcloud` en scripts → gcp-cloud-run
- `redis` en requirements/pyproject.toml → redis

2. Leer el checklist de auditoría: `~/Documents/GitHub/claude-kit/audit/checklist.md`
2. Leer el checklist de auditoría: `$CLAUDE_KIT_DIR/audit/checklist.md`

3. Evaluar cada item del checklist contra el proyecto actual:
- ¿Existe CLAUDE.md? ¿Tiene >20 líneas útiles?
Expand All @@ -24,6 +24,6 @@ Ejecutá una auditoría del proyecto actual contra la plantilla claude-kit.
- ¿Los comandos build/test están documentados?
- Items recomendados del checklist

4. Calcular score según `~/Documents/GitHub/claude-kit/audit/scoring.md`
4. Calcular score según `$CLAUDE_KIT_DIR/audit/scoring.md`

5. Generar reporte con formato estándar de auditoría.
39 changes: 35 additions & 4 deletions .claude/hooks/block-destructive.sh
Original file line number Diff line number Diff line change
@@ -1,26 +1,57 @@
#!/bin/bash
# PreToolUse hook: block dangerous bash commands
# Matcher: Bash
# Supports FORGE_HOOK_PROFILE: minimal | standard (default) | strict
COMMAND=$(echo "$TOOL_INPUT" | jq -r '.command // empty' 2>/dev/null)

DANGEROUS_PATTERNS=(
PROFILE="${FORGE_HOOK_PROFILE:-standard}"

# Minimal: only the most catastrophic patterns
MINIMAL_PATTERNS=(
'rm -rf /'
'rm -rf \*'
'rm -rf ~'
'git push.*--force.*main'
'git push.*--force.*master'
)

# Standard: current behavior (minimal + broader destructive ops)
STANDARD_PATTERNS=(
'DROP TABLE'
'DROP DATABASE'
'TRUNCATE TABLE'
'DELETE FROM .* WHERE 1'
'git push.*--force.*main'
'git push.*--force.*master'
'git reset --hard'
'docker system prune -a'
'chmod -R 777'
)

# Strict: standard + risky execution patterns
STRICT_PATTERNS=(
'curl.*\|.*sh'
'wget.*\|.*sh'
'eval '
'chmod 777'
'chmod -R 777'
'> /etc/'
'tee /etc/'
'dd if=.* of=/dev/'
)

# Build active pattern list based on profile
DANGEROUS_PATTERNS=("${MINIMAL_PATTERNS[@]}")

if [[ "$PROFILE" == "standard" || "$PROFILE" == "strict" ]]; then
DANGEROUS_PATTERNS+=("${STANDARD_PATTERNS[@]}")
fi

if [[ "$PROFILE" == "strict" ]]; then
DANGEROUS_PATTERNS+=("${STRICT_PATTERNS[@]}")
fi

for pattern in "${DANGEROUS_PATTERNS[@]}"; do
if echo "$COMMAND" | grep -qiE "$pattern"; then
echo "BLOCKED: destructive command detected" >&2
echo "BLOCKED: destructive command detected [$PROFILE profile]" >&2
echo "Pattern: $pattern" >&2
echo "Command: $COMMAND" >&2
exit 2
Expand Down
2 changes: 2 additions & 0 deletions .claude/rules/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ Spawn an Agent Team ONLY when ALL of these hold:
Team structure pattern:
- **Lead**: coordinates, synthesizes, DOES NOT implement
- **Teammates**: max 3-4 (diminishing returns beyond that)
- Each teammate MUST use `isolation: "worktree"` to work on an isolated copy of the repo
- Lead agent coordinates merges from worktree branches into the main branch
- Require plan approval before any teammate writes code

## Context Management
Expand Down
3 changes: 2 additions & 1 deletion .claude/rules/memory.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ description: "Memory management policy — always loaded"
- Before modifying code, read CLAUDE_ERRORS.md for known issues in the affected area
- After fixing a bug, record it: date, area, root cause, fix applied, derived rule
- If same error appears 3+ times across sessions, promote the derived rule to _common.md or a stack-specific rule
- Format: markdown table with columns Date | Area | Error | Cause | Fix | Rule
- Format: markdown table with columns Date | Area | Type | Error | Cause | Fix | Rule
- Type must be one of: `syntax`, `logic`, `integration`, `config`, `security`

## Agent Memory (.claude/agent-memory/)
- Agents with `memory: project` persist learnings in .claude/agent-memory/<agent-name>/
Expand Down
Loading