Restart development from Italian vacation home laptop
Marker commit for resuming Daybook work in this location; carries forward pending doc/config updates (CLAUDE.md rename, planning notes, archived handoff doc). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
b455fe56bb
commit
203f9b578e
5 changed files with 411 additions and 5 deletions
69
CLAUDE.md
Normal file
69
CLAUDE.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# CLAUDE.md
|
||||
|
||||
## Project
|
||||
|
||||
Daybook is a self-hosted Django + Django REST Framework web app where AI agents publish artifacts and a human browses them in a time-ordered, persona-filterable feed.
|
||||
|
||||
The core product principle is: agents publish content, not files. The server owns IDs, styling, storage layout, dates, and normalization into browser-native HTML, image, or PDF outputs.
|
||||
|
||||
## Current MVP Decisions
|
||||
|
||||
- Use a single shared ingest API token for now.
|
||||
- Require `persona` in every artifact payload.
|
||||
- Do not add reader authentication in the local/self-hosted MVP.
|
||||
- Use random 8-character artifact IDs.
|
||||
- Start as a plain Django project; add Docker after core ingest and viewer work.
|
||||
- Preserve original markdown as `.md` alongside rendered `.html`.
|
||||
|
||||
## Architecture Notes
|
||||
|
||||
- Planning source: `planning/daybook_planning.md`.
|
||||
- Django project: `daybook_project/`.
|
||||
- Main app: `artifacts/`.
|
||||
- Theme CSS: `static/themes/`.
|
||||
- Feed template: `templates/artifacts/feed.html`.
|
||||
- Stored artifact files live under `artifacts_store/{persona}/{YYYY-MM-DD}/`.
|
||||
|
||||
## Implementation Guidelines
|
||||
|
||||
- Prefer small, direct changes over broad abstractions.
|
||||
- Keep ingest normalization server-side.
|
||||
- The viewer should only need to render HTML, image, or PDF.
|
||||
- Do not make agents responsible for styling, filenames, or storage paths.
|
||||
- Preserve existing planning decisions unless the user explicitly changes them.
|
||||
- Avoid adding backwards-compatibility code before anything has shipped.
|
||||
|
||||
## Development And Deployment Workflow
|
||||
|
||||
- Develop and test locally in this workspace by default.
|
||||
- Use the local Django commands for normal iteration: `python manage.py check`, `python manage.py migrate`, and `python manage.py runserver`.
|
||||
- Run the local development server on `127.0.0.1:8001`. Port `8000` may be reserved or blocked on this workstation.
|
||||
- Do not deploy to the Proxmox NUC during routine code iteration.
|
||||
- Treat the NUC container as the local live/staging target. Deploy there only at explicit stable checkpoints, such as an end-of-day build.
|
||||
- Before any NUC deployment, preserve `/opt/daybook/deploy/.env` and `/opt/daybook/deploy/data`.
|
||||
- After any NUC deployment or configuration change, run the documented health checks and update the NUC ops knowledge base plus `planning/daybook-container-handoff.md` if takeover facts changed.
|
||||
|
||||
## Repository Notes
|
||||
|
||||
- `_archive_/` exists for retired or moved project docs and experiments that should not drive current implementation decisions.
|
||||
- Current deployment/takeover details live in `planning/daybook-container-handoff.md`; canonical NUC infrastructure details live in the NUC ops repo.
|
||||
|
||||
## Commands
|
||||
|
||||
- Install dependencies: `pip install -r requirements.txt`
|
||||
- Run migrations: `python manage.py migrate`
|
||||
- Start dev server: `python manage.py runserver 127.0.0.1:8001`
|
||||
- Local app URL: `http://127.0.0.1:8001/`
|
||||
- Local API health check: `http://127.0.0.1:8001/api/capabilities`
|
||||
- Django checks: `python manage.py check`
|
||||
|
||||
## API Defaults
|
||||
|
||||
- MVP ingest endpoint: `POST /api/artifacts`
|
||||
- MVP list endpoint: `GET /api/artifacts?persona=&day=&tag=`
|
||||
- Artifact view: `GET /a/{id}`
|
||||
- Development token: `Authorization: Bearer dev-token`
|
||||
|
||||
## Claude Code / OpenCode
|
||||
|
||||
This project uses `CLAUDE.md` for project instructions, compatible with both Claude Code and OpenCode. The `opencode.json` configuration file loads this file. After changing `opencode.json`, `.opencode/`, or this file, restart your AI coding assistant so the updated instructions are loaded.
|
||||
Loading…
Add table
Add a link
Reference in a new issue