mirror of
https://github.com/harivansh-afk/claude-continual-learning.git
synced 2026-04-15 08:03:42 +00:00
159 lines
3.6 KiB
Markdown
159 lines
3.6 KiB
Markdown
# Continual Learning System for Claude Code
|
|
|
|
A self-improving coding agent that learns from every session. Patterns, failures, edge cases, and insights are automatically extracted and stored, making the agent smarter over time.
|
|
|
|
## How It Works
|
|
|
|
```
|
|
Session 1: You code with Claude
|
|
|
|
|
v
|
|
SessionEnd Hook fires
|
|
|
|
|
v
|
|
/retrospective extracts learnings
|
|
|
|
|
v
|
|
learnings.md is updated
|
|
|
|
|
v
|
|
Session 2: Agent applies learnings from Session 1
|
|
|
|
|
v
|
|
(repeat - agent gets smarter each session)
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
### 1. Install
|
|
|
|
```bash
|
|
# Clone this repo
|
|
git clone https://github.com/YOUR_ORG/continual-learning.git
|
|
cd continual-learning
|
|
|
|
# Install to your project
|
|
./install.sh /path/to/your/project
|
|
```
|
|
|
|
### 2. Set Up the Agent
|
|
|
|
```bash
|
|
cd /path/to/your/project
|
|
claude
|
|
|
|
# In Claude Code, run:
|
|
> /setup-agent
|
|
```
|
|
|
|
This analyzes your codebase and configures the agent with project-specific context.
|
|
|
|
### 3. Start Coding
|
|
|
|
Just work normally with Claude Code. After each session:
|
|
- The `SessionEnd` hook automatically runs
|
|
- `/retrospective` analyzes what happened
|
|
- New learnings are added to `learnings.md`
|
|
- Next session benefits from accumulated knowledge
|
|
|
|
## What Gets Installed
|
|
|
|
```
|
|
your-project/
|
|
+-- .claude/
|
|
+-- skills/
|
|
| +-- codebase-agent/
|
|
| +-- SKILL.md # Main agent skill
|
|
| +-- learnings.md # Accumulated learnings (grows over time)
|
|
|
|
|
+-- commands/
|
|
| +-- setup-agent.md # /setup-agent - Initial setup
|
|
| +-- retrospective.md # /retrospective - Extract learnings
|
|
|
|
|
+-- hooks/
|
|
| +-- session-end.sh # Auto-triggers after sessions
|
|
|
|
|
+-- settings.json # Hook configuration
|
|
```
|
|
|
|
## Manual Commands
|
|
|
|
While learning happens automatically, you can also trigger it manually:
|
|
|
|
- `/setup-agent` - Re-analyze codebase and update skill context
|
|
- `/retrospective` - Manually run learning extraction
|
|
|
|
## Customization
|
|
|
|
### Adjust the Skill
|
|
|
|
Edit `.claude/skills/codebase-agent/SKILL.md` to:
|
|
- Add project-specific instructions
|
|
- Modify the agent's behavior
|
|
- Include additional context
|
|
|
|
### Adjust Learning Extraction
|
|
|
|
Edit `.claude/commands/retrospective.md` to:
|
|
- Change what categories of learnings to extract
|
|
- Modify the format of learnings
|
|
- Adjust selectivity (what gets saved vs skipped)
|
|
|
|
### Disable Automatic Learning
|
|
|
|
Remove the hook from `.claude/settings.json` to disable automatic learning.
|
|
You can still run `/retrospective` manually when you want.
|
|
|
|
## Requirements
|
|
|
|
- Claude Code (latest version)
|
|
- `jq` command-line tool (for parsing JSON in hooks)
|
|
|
|
Install jq if needed:
|
|
```bash
|
|
# macOS
|
|
brew install jq
|
|
|
|
# Ubuntu/Debian
|
|
apt-get install jq
|
|
```
|
|
|
|
## How Learnings Are Structured
|
|
|
|
Learnings in `learnings.md` are organized into categories:
|
|
|
|
- **Patterns**: Successful approaches to reuse
|
|
- **Failures**: Mistakes to avoid
|
|
- **Edge Cases**: Tricky scenarios to remember
|
|
- **Technology Insights**: Framework/library-specific knowledge
|
|
- **Conventions**: Project coding conventions
|
|
|
|
Each learning follows this format:
|
|
|
|
```markdown
|
|
### [Short Title]
|
|
- **Context**: When this applies
|
|
- **Learning**: The insight
|
|
- **Example**: Code snippet (optional)
|
|
```
|
|
|
|
## Philosophy
|
|
|
|
This system is based on the idea that:
|
|
|
|
1. **Agents should learn** - Not just follow static instructions
|
|
2. **Every session has insights** - Patterns, failures, edge cases
|
|
3. **Compounding knowledge** - Each session builds on previous ones
|
|
4. **Human-readable memory** - Learnings are plain markdown, easy to review/edit
|
|
5. **Shareable knowledge** - Commit learnings.md to git for team benefit
|
|
|
|
## Contributing
|
|
|
|
1. Fork the repo
|
|
2. Make changes
|
|
3. Test by installing to a real project
|
|
4. Submit a PR
|
|
|
|
## License
|
|
|
|
MIT
|