Clew
miuuyy/Clew/CLAUDE.md
This file provides repository-specific guidance to Claude Code when working in Clew. Before making changes, read: Clew is a graph-first learning workspace with an AI agent layer. If Obsidian is where you collect notes, Clew is where you operate on a learning graph. The public main branch is the local developer edition. It keeps: It does not try to mirror every hosted product surface. Never weaken these: Run frontend checks: Run backend tests: This repo includes repo-local Claude context: Use…
CLAUDE.md169 starsChanged 5 months ago
# CLAUDE.md This file provides repository-specific guidance to Claude Code when working in Clew. ## Read first Before making changes, read: - [Shared agent context](docs/agents/PROJECT_CONTEXT.md) - [Agent workflow](docs/agents/WORKFLOW.md) - [Architecture](docs/ARCHITECTURE.md) - [ADR index](docs/adr/README.md) ## Product overview Clew is a graph-first learning workspace with an AI agent layer. If Obsidian is where you collect notes, Clew is where you operate on a learning graph. The public `main` branch is the **local developer edition**. It keeps: - graph workspace - provider seam - proposals - snapshots and rollback - quizzes and closure logic - import/export It does not try to mirror every hosted product surface. ## Core boundaries Never weaken these: 1. The graph is the center of truth. 2. AI suggests changes instead of silently applying them. 3. Accepted graph changes stay reversible through snapshots. 4. The UI stays graph-first instead of dashboard-first. 5. The public local edition stays honest about being local-first. ## Engineering rules - Prefer explicit contracts over heuristics. - Prefer fail-closed over hidden fallback. - Do not add semantic keyword routers for agent behavior. - Keep model behavior honest through role, context, and schema. - Do not add dead surfaces “just in case”. ## Frontend quick map - `frontend/src/App.tsx`: app shell and state wiring - `frontend/src/components/WorkspaceShell.tsx`: sidebar and workspace chrome - `frontend/src/components/GraphCanvas.tsx`: graph rendering and interaction - `frontend/src/components/SettingsModal.tsx`: provider, memory, debug, and UX controls - `frontend/src/lib/`: API, graph helpers, copy, contracts, debug logging ## Backend quick map - `backend/app/api/routes.py`: HTTP transport - `backend/app/services/repository.py`: SQLite persistence, snapshots, config - `backend/app/services/chat_orchestrator.py`: answer/quiz/proposal action choice - `backend/app/services/proposal_planner.py`: proposal generation and validation bridge - `backend/app/llm/`: providers, catalog, prompts, contracts, schemas ## Local commands Start dev: ```bash ./scripts/dev.sh ``` Run frontend checks: ```bash cd frontend && npm run typecheck && npm run build ``` Run backend tests: ```bash PYTHONPATH=backend ./.venv/bin/python -m unittest discover -s backend/tests -v ``` ## Repo-specific help This repo includes repo-local Claude context: - [Agent docs index](docs/agents/README.md) - `.claude/skills/` for product, docs, and agent-boundary checks Use them when they fit instead of re-deriving the same repo context every time.
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

