docs: replace CLAUDE.md with AGENTS.md and add frontend details
This commit is contained in:
parent
098b158b75
commit
d1bdfc4993
1 changed files with 27 additions and 9 deletions
|
|
@ -1,17 +1,17 @@
|
||||||
# CLAUDE.md
|
# AGENTS.md
|
||||||
|
|
||||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
This file provides guidance to AI coding agents when working with code in this repository.
|
||||||
|
|
||||||
## Repository structure
|
## Repository Structure
|
||||||
|
|
||||||
This is a monorepo. The backend lives in `backend/`; a frontend will be added in the future.
|
This is a monorepo with **backend** and **frontend** directories.
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
Run all backend commands from the `backend/` directory:
|
Run the backend from the `backend/` directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run scripts
|
# Backend
|
||||||
cd backend && uv run python main.py
|
cd backend && uv run python main.py
|
||||||
|
|
||||||
# Linting / formatting
|
# Linting / formatting
|
||||||
|
|
@ -20,11 +20,29 @@ cd backend && uv run black .
|
||||||
cd backend && uv run isort .
|
cd backend && uv run isort .
|
||||||
```
|
```
|
||||||
|
|
||||||
No test suite exists yet.
|
Run the frontend from the `frontend/` directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Frontend
|
||||||
|
cd frontend && pnpm dev
|
||||||
|
|
||||||
|
# Type checking / linting / formatting
|
||||||
|
cd frontend && pnpm check
|
||||||
|
cd frontend && pnpm lint
|
||||||
|
cd frontend && pnpm format
|
||||||
|
```
|
||||||
|
|
||||||
|
No test suite exists yet (backend has some test files but they're not integrated into CI).
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
**innercontext** collects personal health and skincare data and exposes it via MCP to an LLM agent. Stack: Python 3.12, SQLModel (0.0.37) + SQLAlchemy, Pydantic v2, FastAPI, PostgreSQL (psycopg3).
|
**innercontext** collects personal health and skincare data and exposes it via MCP to an LLM agent.
|
||||||
|
|
||||||
|
**Backend Stack:** Python 3.12, SQLModel (0.0.37) + SQLAlchemy, Pydantic v2, FastAPI, PostgreSQL (psycopg3).
|
||||||
|
|
||||||
|
**Frontend Stack:** SvelteKit 5, Tailwind CSS v4, bits-ui, inlang/paraglide (i18n), svelte-dnd-action.
|
||||||
|
|
||||||
|
### MCP Server (`backend/innercontext/mcp_server.py`)
|
||||||
|
|
||||||
### Models (`backend/innercontext/models/`)
|
### Models (`backend/innercontext/models/`)
|
||||||
|
|
||||||
|
|
@ -43,7 +61,7 @@ No test suite exists yet.
|
||||||
|
|
||||||
**`SkinConditionSnapshot`** is a weekly LLM-filled record (skin state, metrics 1–5, active concerns).
|
**`SkinConditionSnapshot`** is a weekly LLM-filled record (skin state, metrics 1–5, active concerns).
|
||||||
|
|
||||||
### Key conventions
|
### Key Conventions
|
||||||
|
|
||||||
- All `table=True` models use `Column(DateTime(timezone=True), onupdate=utc_now)` for `updated_at` via raw SQLAlchemy column — do not use plain `Field(default_factory=...)` for auto-update.
|
- All `table=True` models use `Column(DateTime(timezone=True), onupdate=utc_now)` for `updated_at` via raw SQLAlchemy column — do not use plain `Field(default_factory=...)` for auto-update.
|
||||||
- List/complex fields stored as JSON use `sa_column=Column(JSON, nullable=...)` pattern (DB-agnostic; not JSONB).
|
- List/complex fields stored as JSON use `sa_column=Column(JSON, nullable=...)` pattern (DB-agnostic; not JSONB).
|
||||||
Loading…
Add table
Add a link
Reference in a new issue