Merge feature/habit-tracker into master (squashed): ✨ Habit Tracker Features: - Bead chain visualization (30-day history) - Weekly lives recovery system (+1 life/week) - Lucide icons (zap, shield) replacing emoji - Responsive layout (mobile-optimized) - Navigation links added to all dashboard pages 📚 Knowledge Base: - 40+ trading basics articles with metadata - Daily notes (2026-02-10, 2026-02-11) - Health & insights content - KB index restructuring 🧪 Tests: - Comprehensive test suite (4 test files) - Integration tests for lives recovery - 28/29 tests passing Commits squashed: - feat(habits): bead chain visualization + weekly lives recovery + nav integration - docs(memory): update KB content + daily notes - chore(data): update habits and status data Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
88 lines
4.4 KiB
Markdown
88 lines
4.4 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## Repository Overview
|
||
|
||
This is a multi-project workspace for **Echo**, a personal AI assistant ecosystem owned by Marius. It contains three main components: a web dashboard, Python utility tools, and Antfarm (an agent workflow orchestration CLI).
|
||
|
||
**Language:** Romanian is used extensively in docs, variable names, and comments. Marius prefers no emojis in conversation.
|
||
|
||
## Project Structure
|
||
|
||
- **dashboard/** — Web-based task/habit tracking SPA (vanilla JS + Python backend via `api.py`)
|
||
- **antfarm/** — Multi-agent workflow orchestration CLI (TypeScript + Node.js + SQLite)
|
||
- **tools/** — Python utility scripts (email, calendar, git, YouTube, ANAF monitor, Ralph workflow)
|
||
- **memory/** — Knowledge base and daily notes (`memory/YYYY-MM-DD.md`, `memory/kb/`)
|
||
- **skills/** — Agent skill definitions
|
||
|
||
## Build & Run Commands
|
||
|
||
### Antfarm (TypeScript)
|
||
```bash
|
||
cd antfarm && npm run build # tsc + copy HTML + chmod
|
||
cd antfarm && npm start # node dist/cli/cli.js
|
||
antfarm install # Install all bundled workflows
|
||
antfarm workflow run <id> <task> # Start a workflow run
|
||
antfarm dashboard # Web dashboard on port 3333
|
||
```
|
||
- Requires Node.js >= 22, ES modules (`"type": "module"`)
|
||
- TypeScript strict mode, target ES2022, module NodeNext
|
||
- No linter or formatter configured
|
||
|
||
### Dashboard (Python)
|
||
```bash
|
||
python3 dashboard/api.py # Start HTTP server
|
||
pytest dashboard/tests/ # Run all dashboard tests
|
||
pytest dashboard/tests/test_habits_api.py # Run a single test file
|
||
```
|
||
|
||
### Tools (Python)
|
||
```bash
|
||
python3 tools/youtube_subs.py URL [lang]
|
||
python3 tools/email_send.py "dest" "subject" "body"
|
||
python3 tools/email_process.py [--save|--all]
|
||
python3 tools/calendar_check.py [today|week|travel]
|
||
python3 tools/git_commit.py --push
|
||
python3 tools/ralph_workflow.py # Autonomous code generation
|
||
```
|
||
|
||
## Architecture
|
||
|
||
### Antfarm — Multi-Agent Workflows
|
||
- **Workflow pattern:** YAML-defined pipelines where specialized agents (planner, developer, verifier, tester, reviewer) execute steps sequentially
|
||
- **Fresh context per step:** Each agent runs in a clean session — no shared context window
|
||
- **State in SQLite:** `~/.openclaw/antfarm/antfarm.db` with WAL mode; tables: `runs`, `steps`, `stories`
|
||
- **Cron-based polling:** Agents poll for work at configurable intervals (120s–300s)
|
||
- **Tool-gating by role:** agents have restricted tool access (e.g., `verification` role = read + exec, NO write)
|
||
- **Bundled workflows:** `feature-dev` (7 agents), `bug-fix` (6 agents), `security-audit` (7 agents)
|
||
- **Key source files:** `src/cli/cli.ts` (entry), `src/db.ts` (SQLite), `src/installer/install.ts` (workflow provisioning), `src/installer/workflow-spec.ts` (YAML parsing), `src/installer/step-ops.ts` (step claim/complete/fail), `src/server/dashboard.ts` (HTTP API)
|
||
|
||
### Dashboard — Habit Tracker & Task Board
|
||
- **Single-page app** with swipe navigation between pages (index, habits, notes, files, workspace)
|
||
- **Backend:** Python `SimpleHTTPRequestHandler` with `/api/` routing in `dashboard/api.py`
|
||
- **Data:** JSON files (`habits.json`, `todos.json`, `tasks.json`, `status.json`)
|
||
- **Frontend:** Vanilla JS + CSS with Lucide icons, design tokens for light/dark themes
|
||
- **Served over Tailscale:** `https://moltbot.tailf7372d.ts.net/echo/`
|
||
|
||
### Ralph — Autonomous Code Generation
|
||
- Opus generates PRD/stories, Sonnet implements them
|
||
- `tools/ralph_prd_generator.py` → PRD + `prd.json`
|
||
- `tools/ralph_workflow.py` → launches the full loop
|
||
- Projects go in `~/workspace/`
|
||
|
||
## Key Configuration
|
||
|
||
- **AGENTS.md** — Agent behavior rules, model selection (Haiku/Sonnet/Opus), security policies
|
||
- **USER.md** — Marius's profile, preferences, and 80/20 work style
|
||
- **TOOLS.md** — Available tools with exact CLI invocations
|
||
- **antfarm/workflows/{id}/workflow.yml** — YAML workflow definitions
|
||
- **antfarm/agents/shared/** — Shared agent definitions (setup, verifier, pr)
|
||
|
||
## Conventions
|
||
|
||
- **Model selection:** Opus for planning/architecture, Sonnet for implementation/coding, Haiku for routine tasks
|
||
- **80/20 rule:** Minimal effort, maximum results — avoid over-engineering
|
||
- **Security:** Never store secrets in code; use `.env` files; `trash` over `rm`; confirm destructive actions
|
||
- **Git:** Main branch is `master`; remote is `gitea.romfast.ro/romfast/clawd`
|