diff --git a/CLAUDE.md b/CLAUDE.md index 278bad2..f5d2b30 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -135,10 +135,14 @@ GitHub Actions with two workflows: 4. **E2E Tests** — Playwright with Chromium (depends on step 3, uploads report on failure) 5. **Docker Build** — validates the Docker image builds (depends on step 3) -**Release** (`.github/workflows/release.yml`) — runs on `v*` tags: -- Runs full CI pipeline, then builds + pushes Docker image to `ghcr.io` (GitHub Container Registry) +**Bump & Release** (`.github/workflows/bump.yml`) — workflow_dispatch (primary release method): +- Runs `scripts/release.sh` to bump version in `package.json` + `docker-compose.yml`, tag, and push +- Runs full CI pipeline, then builds + pushes Docker image to `ghcr.io` - Creates a GitHub Release with auto-generated notes +**Release** (`.github/workflows/release.yml`) — runs on `v*` tags (fallback for manual/local tag pushes): +- Same as above: CI pipeline, Docker build/push, GitHub Release + **Docker**: Multi-stage Dockerfile (node:22-slim), exposes port 3000, persists data to `/data` volume. ## Testing philosophy: BDD/TDD @@ -188,3 +192,14 @@ E2E tests follow Cucumber BDD conventions via comments. Follow the [Better Gherk ``` **Resilience test** — ask: *"Will this comment need to change if the UI implementation changes?"* If yes, rewrite it to remove implementation details. The Playwright code underneath handles the *how*; the comments describe the *what*. + +## Documentation + +Keep docs in `docs/` up to date when making changes. If a feature, API endpoint, deployment config, or architectural decision changes, update the relevant doc file in the same commit or PR: + +| Doc | Covers | +|-----|--------| +| `docs/FEATURES.md` | User-facing feature list | +| `docs/ARCHITECTURE.md` | System design, data flow, schema, tech stack | +| `docs/DEPLOYMENT.md` | Docker, env vars, reverse proxy, backups | +| `docs/openapi.yaml` | API spec (run `pnpm docs:api` to regenerate `docs/API.md`) | diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index 273464c..8a2559e 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -16,7 +16,7 @@ Open http://localhost:3000 and set your password. # docker-compose.yml services: crumbs: - build: . + image: ghcr.io/bretzel-app/crumbs:latest ports: - "8080:3000" # Change external port volumes: diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 1864758..a24a7e5 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -8,16 +8,27 @@ - Content supports full Markdown syntax - Auto-save on editor close -### Markdown Support -- **Bold** (`**text**`) -- *Italic* (`*text*`) +### Rich Text Editor +- WYSIWYG editing powered by Tiptap +- Formatting toolbar with visual controls +- Raw Markdown mode toggle for direct editing +- Undo/Redo with keyboard shortcuts + +### Text Formatting +- **Bold** (`**text**` / Ctrl+B) +- *Italic* (`*text*` / Ctrl+I) +- Underline (Ctrl+U) +- ~~Strikethrough~~ (`~~text~~` / Ctrl+Shift+X) - Headings (`# H1` through `###### H6`) +- Blockquotes (`> quote`) - Unordered lists (`- item`) - Ordered lists (`1. item`) - Code blocks (triple backtick) - Inline code (single backtick) - Tables -- Links (auto-linkified URLs) +- Links — insert, edit, and remove with URL input +- Dividers (horizontal rules) +- Text alignment (left, center, right, justify) - Line breaks ### Checklists / Task Lists