|
2 | 2 |
|
3 | 3 | This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
4 | 4 |
|
5 | | -@prompts/project/ongoing-work-tracking.md |
6 | | -@prompts/project/ai-insights.md |
7 | | - |
8 | 5 | ## Memory Bank Design Context |
9 | 6 |
|
10 | | -### Maintenance & Workflow |
11 | | -This mdBook content must be kept current as design evolves. "Checkpoint our work" includes: |
12 | | -- Updating Current Design State with new insights/discoveries |
13 | | -- Moving completed items from Open Questions to Key Design Decisions |
14 | | -- Documenting any design pivots or new principles discovered |
15 | | - |
16 | | -See project conventions: |
17 | | -- GitHub tracking: @prompts/project/github-tracking-issues.md |
18 | | -- Code documentation: @prompts/project/ai-insights.md |
19 | | - |
20 | | -### Vision & Goals |
21 | | -@src/introduction.md |
22 | | - |
23 | | -### Design Foundation |
24 | | -@src/design-foundation.md |
25 | | - |
26 | | -### Current Design State |
27 | | -@src/current-state.md |
28 | | -(Check this section for latest open questions and discoveries) |
29 | | - |
30 | | -### Full Documentation |
31 | | -@src/SUMMARY.md |
32 | | -(Complete architecture, implementation details, research archive) |
33 | | - |
34 | | -## Project Overview |
35 | | - |
36 | | -Socratic Shell is a research experiment in deliberate AI-human collaboration design. It consists of two main MCP (Model Context Protocol) servers that enable structured collaboration patterns and pattern testing. |
37 | | - |
38 | | -### Core Components |
39 | | - |
40 | | -1. **socratic-shell** - Memory consolidation MCP server for intelligent information storage and retrieval |
41 | | -2. **dialectic** - Pattern testing MCP server for evaluating collaboration approaches through structured conversation scenarios |
42 | | - |
43 | | -## Architecture |
44 | | - |
45 | | -``` |
46 | | -socratic-shell/ |
47 | | -├── socratic-shell/ # Main MCP server for memory operations |
48 | | -│ └── src/socratic_shell/ |
49 | | -│ ├── server.py # MCP server with consolidate/read_in/store_back tools |
50 | | -│ └── models.py # Pydantic models for memory operations |
51 | | -├── dialectic/ # Pattern testing MCP server |
52 | | -│ └── src/dialectic/ |
53 | | -│ ├── server.py # MCP server with test_pattern tool |
54 | | -│ ├── models.py # Data models for pattern testing |
55 | | -│ └── sampling.py # Core sampling logic (placeholder) |
56 | | -├── prompts/ # User and project patterns |
57 | | -├── insights/ # Research findings on collaboration |
58 | | -├── work-tracking/ # Documentation on tracking approaches |
59 | | -└── references/ # Research materials and background |
60 | | -``` |
61 | | - |
62 | | -## Common Development Commands |
63 | | - |
64 | | -### Running the Servers |
| 7 | +@src/memory-bank/README.md |
65 | 8 |
|
66 | | -**Socratic Shell server:** |
67 | | -```bash |
68 | | -cd socratic-shell |
69 | | -uv sync --quiet |
70 | | -uv run python -m socratic_shell |
71 | | -``` |
72 | | - |
73 | | -**Dialectic server:** |
74 | | -```bash |
75 | | -./run-dialectic.sh |
76 | | -# OR |
77 | | -cd dialectic |
78 | | -uv sync --quiet |
79 | | -uv run python -m dialectic |
80 | | -``` |
81 | | - |
82 | | -### Testing and Code Quality |
83 | | - |
84 | | -**Run tests:** |
85 | | -```bash |
86 | | -cd dialectic # or socratic-shell |
87 | | -uv run pytest |
88 | | -``` |
89 | | - |
90 | | -**Linting and type checking:** |
91 | | -```bash |
92 | | -cd dialectic # or socratic-shell |
93 | | -uv run ruff check . |
94 | | -uv run mypy src/ |
95 | | -``` |
96 | | - |
97 | | -**Install development dependencies:** |
98 | | -```bash |
99 | | -cd dialectic # or socratic-shell |
100 | | -uv sync # Installs dev dependencies from pyproject.toml |
101 | | -``` |
102 | | - |
103 | | -## MCP Server Tools |
104 | | - |
105 | | -### Socratic Shell Tools |
106 | | -- `consolidate` - Store insights/patterns with category and importance |
107 | | -- `read_in` - Retrieve relevant memories based on query/context |
108 | | -- `store_back` - Update existing memories with new insights |
109 | | - |
110 | | -### Dialectic Tools |
111 | | -- `test_pattern` - Test collaboration patterns with multiple scenarios (currently returns placeholder results) |
112 | | - |
113 | | -## Work Tracking |
114 | | - |
115 | | -This repository uses the **ongoing files** approach for work tracking: |
116 | | - |
117 | | -- Create `.ongoing/task-name.md` files for active development work |
118 | | -- Update status, next steps, and context as work progresses |
119 | | -- Delete files when work is complete |
120 | | -- See `work-tracking/ongoing-files.md` for detailed conventions |
121 | | - |
122 | | -**Check current work:** |
123 | | -```bash |
124 | | -ls -la .ongoing/ 2>/dev/null || echo "No ongoing work tracked" |
125 | | -grep -h "^## Status:" .ongoing/*.md 2>/dev/null || echo "No status found" |
126 | | -``` |
127 | | - |
128 | | -## Key Development Patterns |
| 9 | +### Maintenance & Workflow |
| 10 | +The mdBook whose table of contents lies in `src/SUMMARY.md` must be kept current as design evolves. |
| 11 | +The table of contents can be useful to find sources of additional information about the memory bank design. |
129 | 12 |
|
130 | | -### Python Environment |
131 | | -- Both servers use **uv** for dependency management |
132 | | -- Python 3.11+ required |
133 | | -- Pydantic for data models |
134 | | -- MCP framework for server implementations |
| 13 | +### Checkpointing |
135 | 14 |
|
136 | | -### Code Organization |
137 | | -- Each server is self-contained in its own directory |
138 | | -- Shared patterns documented in `prompts/` and `insights/` |
139 | | -- Clear separation between MCP protocol handling and business logic |
| 15 | +When asked to "checkpoint our work", remember to take the following steps: |
| 16 | +- Update [Current Design State](./src/memory-bank/current-state.md) with new insights/discoveries |
| 17 | +- Move completed items from Open Questions to Key Design Decisions |
| 18 | +- Document new principles discovered in the [Design Foundation](./src/memory-bank/design-foundation.md) |
| 19 | +- Add new questions to cover design pivots in the [FAQ](./src/memory-bank/faq.md) |
140 | 20 |
|
141 | | -### Testing Strategy |
142 | | -- `dialectic/` has placeholder MCP sampling capabilities (future: actual Claude API integration) |
143 | | -- Test fixtures in `test/fixtures/` for system prompts and reminders |
144 | | -- Pattern testing designed around real conversation scenarios |
| 21 | +## Dialectic testing tool |
145 | 22 |
|
146 | | -## Important Files |
| 23 | +@src/dialectic/README.md |
147 | 24 |
|
148 | | -- `run-dialectic.sh` - Quick start script for dialectic server |
149 | | -- `prompts/user/main.md` - Core collaboration patterns (referenced by global CLAUDE.md) |
150 | | -- `insights/*.md` - Research findings on effective AI-human collaboration |
151 | | -- `work-tracking/*.md` - Documentation on different tracking approaches |
| 25 | +## Socratic Shell Conventions |
152 | 26 |
|
153 | | -## Notes |
| 27 | +@src/prompts/project/github-tracking-issues.md |
| 28 | +@src/prompts/project/ai-insights.md |
154 | 29 |
|
155 | | -- The `socratic-shell` server currently has dummy memory implementation |
156 | | -- The `dialectic` server returns placeholder results until MCP sampling is fully implemented |
157 | | -- Both servers log operations to stderr for debugging |
158 | | -- This is research code - focus on collaboration patterns over production polish |
| 30 | +@src/SUMMARY.md |
| 31 | +(Complete architecture, implementation details, research archive) |
0 commit comments