Initialize harness in current project - creates tracking files
Initializes or upgrades the harness in the current project directory.
/plugin marketplace add panayiotism/claude-harness/plugin install claude-harness@claude-harnessInitialize or upgrade claude-harness in the current project directory.
This command automatically detects what needs to be done:
.claude-harness/memory/ directory exists:
Check for existing v2.x harness structure:
If .claude-harness/ exists BUT .claude-harness/memory/ does NOT exist:
Create v3.0 directory structure:
mkdir -p .claude-harness/memory/working
mkdir -p .claude-harness/memory/episodic
mkdir -p .claude-harness/memory/semantic
mkdir -p .claude-harness/memory/procedural
mkdir -p .claude-harness/features
mkdir -p .claude-harness/impact
mkdir -p .claude-harness/agents
mkdir -p .claude-harness/loops
Migrate existing files:
agent-memory.json exists: Extract failedApproaches → memory/procedural/failures.json, successfulApproaches → memory/procedural/successes.jsonworking-context.json exists: Move to memory/working/context.jsonagent-context.json exists: Move to agents/context.jsonloop-state.json exists: Move to loops/state.jsonfeature-list.json, feature-archive.json, claude-progress.json in place (backward compatible)Create memory layer files:
memory/episodic/decisions.json with empty entries arraymemory/semantic/architecture.json with project structurememory/procedural/patterns.json with empty entriesCreate marker file:
3.0.0 to .claude-harness/.migrated-from-v2Report: "Migrated v2.x to v3.0 Memory Architecture"
Check for legacy root-level files (v2.1.0 or earlier):
feature-list.json, claude-progress.json, etc. exist in project root:.claude-harness/ first, then apply v3.0 migrationIf no .claude-harness/ directory exists, create full v3.0 structure:
Directory structure:
.claude-harness/
├── memory/
│ ├── working/context.json
│ ├── episodic/decisions.json
│ ├── semantic/architecture.json
│ └── procedural/
│ ├── failures.json
│ ├── successes.json
│ └── patterns.json
├── features/
│ └── active.json
├── impact/
│ └── dependency-graph.json
├── agents/
│ └── context.json
├── loops/
│ └── state.json
├── feature-list.json (backward compat)
├── feature-archive.json
├── claude-progress.json
└── init.sh
File contents - see schemas below
Always update the plugin version tracking:
.claude-harness/.plugin-version{
"computedAt": null,
"sessionId": null,
"activeFeature": null,
"relevantMemory": {
"recentDecisions": [],
"projectPatterns": [],
"avoidApproaches": []
},
"currentTask": null,
"compilationLog": []
}
{
"maxEntries": 50,
"entries": []
}
{
"projectType": null,
"techStack": {},
"structure": {
"entryPoints": [],
"components": [],
"api": [],
"tests": []
},
"patterns": {},
"discoveredAt": "<current timestamp>",
"lastUpdated": "<current timestamp>"
}
{
"entries": []
}
{
"entries": []
}
{
"features": []
}
{
"version": 1,
"feature": null,
"status": "idle",
"attempt": 0,
"maxAttempts": 10,
"history": []
}
{
"version": 1,
"currentSession": null,
"agentResults": [],
"pendingHandoffs": []
}
{
"version": 1,
"features": []
}
{
"lastUpdated": "<current timestamp>",
"currentProject": "<directory name>",
"lastSession": {
"summary": "Initial harness setup",
"completedTasks": [],
"blockers": [],
"nextSteps": ["Run /claude-harness:start to begin"]
}
}
Report:
/claude-harness:start to compile context and sync GitHub/claude-harness:feature to add features/claude-harness:generate-tests before implementation/claude-harness:implement for agentic loops