Add client-side watch/bookmark functionality: users can save events to localStorage without RSVPing via a bookmark button next to the "I'm attending" CTA. Watched events appear in the event list with a "Watching" label. Bookmark is only visible for visitors (not attendees or organizers). Includes spec, plan, research, tasks, unit tests, and E2E tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
3.4 KiB
Markdown
51 lines
3.4 KiB
Markdown
# fete
|
|
|
|
A privacy-focused, self-hostable PWA for event announcements and RSVPs. Alternative to Facebook Events or Telegram groups — reduced to the essentials.
|
|
|
|
## Constitution
|
|
|
|
Project principles, constraints, tech stack, and governance are defined in `.specify/memory/constitution.md`. That file is the single source of truth — read and follow it.
|
|
|
|
## Language
|
|
|
|
- Conversation and brainstorming: German.
|
|
- Code, comments, commits, documentation: English — no exceptions.
|
|
|
|
## Build Commands
|
|
|
|
| What | Command |
|
|
|------------------|----------------------------------------|
|
|
| Backend test | `cd backend && ./mvnw test` |
|
|
| Backend run | `cd backend && ./mvnw spring-boot:run` |
|
|
| Frontend install | `cd frontend && npm install` |
|
|
| Frontend build | `cd frontend && npm run build` |
|
|
| Frontend test | `cd frontend && npm run test:unit` |
|
|
| Frontend dev | `cd frontend && npm run dev` |
|
|
| Backend checkstyle | `cd backend && ./mvnw checkstyle:check` |
|
|
| Backend full verify | `cd backend && ./mvnw verify` |
|
|
|
|
## Agent Documentation
|
|
|
|
- Feature specs, research, and plans: `specs/[NNN-feature-name]/` (e.g. `specs/006-create-event/spec.md`, `research.md`, `plan.md`)
|
|
- Cross-cutting research: `.specify/memory/research/`
|
|
- Cross-cutting plans: `.specify/memory/plans/`
|
|
- Agent test reports (browser verification): `.agent-tests/` (gitignored)
|
|
- Use the `browser-interactive-testing` skill (rodney/showboat) for visual verification — this is an agent tool, not manual work.
|
|
|
|
## Skills
|
|
|
|
The following skills are available and should be used for their respective purposes:
|
|
|
|
| Skill | Trigger | Purpose |
|
|
|-------------------------------|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
|
|
| `rpi-research` | Deep codebase investigation needed | Conducts thorough research and produces a written report. Use for understanding how something works before changing it. |
|
|
| `rpi-plan` | Feature, refactor, or bug fix needs planning | Creates detailed, phased implementation plans through interactive research and iteration. |
|
|
| `rpi-implement` | Approved plan ready for execution | Executes approved implementation plans phase by phase with automated and manual verification. |
|
|
| `browser-interactive-testing` | Visual verification of web pages | Headless Chrome testing via rodney/showboat. Use for screenshots, browser automation, and visual test reports. |
|
|
|
|
## Ralph Loops
|
|
|
|
- Autonomous work is done via Ralph Loops. See [.claude/rules/ralph-loops.md](.claude/rules/ralph-loops.md) for documentation.
|
|
- The loop runner is `ralph.sh`. Each run lives in its own directory under `.ralph/`.
|
|
- Run directories contain: `instructions.md` (prompt), `chief-wiggum.md` (directives), `answers.md` (human answers), `questions.md` (Ralph's questions), `progress.txt` (iteration log), `meta.md` (metadata), `run.log` (execution log).
|
|
- Project specifications (user stories, setup tasks, personas, etc.) live in `specs/` (feature dirs) and `.specify/memory/` (cross-cutting docs). |