Files
flipventory_v2/CLAUDE.md
Martin Hohenberg d9ce2dd680 docs: add CLAUDE.md with project context, run instructions, and conventions
Documents the admin e-mail guard rule, tea CLI usage for Gitea issues,
and commit message conventions so future Claude Code sessions can pick up
the project without re-deriving context from scratch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 10:41:19 +02:00

50 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Flipventory v2 Claude Code Notes
## Project context
Inventory management for small/medium resellers who use "chaotic stockpiling":
buy stuff in bulk, sort it later, track it through sale.
Gitea repo: https://git.hohenberg.jp/martin/flipventory_v2
Original v1 repo (for reference): https://git.hohenberg.jp/martin/flipventory
## Running the app
```bash
cp .env.example .env # then edit SECRET_KEY at minimum
uvicorn app.main:app --reload
# → http://127.0.0.1:8000/docs
```
## Key business rules
- `martin@hohenberg.jp` is ALWAYS admin. Enforced on every login in
`app/routers/auth.py`. Never remove this guard.
- All other registered users are customers (`is_admin=False`).
- Item hard-delete is admin-only. Customers archive items instead.
## Tech stack
- FastAPI 0.115 + uvicorn
- SQLAlchemy 2.x (declarative ORM, SQLite default)
- Pydantic v2 + pydantic-settings
- JWT via python-jose (HS256), bcrypt via passlib
## Gitea / tea CLI
The `tea` CLI is at `~/bin/tea` and is logged in to `git.hohenberg.jp` as
`martin`. Use it to work with issues:
```bash
tea issues list --login git.hohenberg.jp --repo martin/flipventory_v2
tea issue create --login git.hohenberg.jp --repo martin/flipventory_v2 \
--title "..." --description "..."
```
## Commit conventions
- Verbose, imperative commit messages
- Format: `type: short summary\n\nLonger explanation`
- Types: feat, fix, refactor, docs, test, chore
- Always include `Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>`