Files
QuoteForge/bible/README.md
Mikhail Chusavitin c295b60dd8 docs: introduce bible/ as single source of architectural truth
- Add bible/ with 7 hierarchical English-only files covering overview,
  architecture, database schemas, API endpoints, config/env, backup, and dev guides
- Consolidate all docs from README.md, CLAUDE.md, man/backup.md into bible/
- Simplify CLAUDE.md to a single rule: read and respect the bible
- Simplify README.md to a brief intro with links to bible/
- Remove man/backup.md and pricelists_window.md (content migrated or obsolete)
- Fix API docs: add missing endpoints (preview-article, sync/repair),
  correct DELETE /api/projects/:uuid semantics (variant soft-delete only)
- Add Soft Deletes section to architecture doc (is_active pattern)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 14:15:52 +03:00

1.9 KiB

QuoteForge Bible — Architectural Documentation

The single source of truth for architecture, schemas, and patterns.


Table of Contents

File Topic
01-overview.md Product: purpose, features, tech stack, repository structure
02-architecture.md Architecture: local-first, sync, pricing, versioning
03-database.md DB schemas: SQLite + MariaDB, permissions, indexes
04-api.md API endpoints and web routes
05-config.md Configuration, environment variables, paths, installation
06-backup.md Backup: implementation, rotation policy
07-dev.md Development: commands, code style, guardrails

Bible Rules

Every architectural decision must be recorded in the Bible.

Any change to DB schema, data access patterns, sync behavior, API contracts, configuration format, or any other system-level aspect — the corresponding bible/ file must be updated in the same commit as the code.

The Bible is the single source of truth for architecture. Outdated documentation is worse than none.

Documentation language: English.

All files in bible/ are written and updated in English only. Mixing languages is not allowed.


Quick Reference

Where is user data stored? SQLite → ~/Library/Application Support/QuoteForge/qfs.db (macOS). MariaDB is sync-only.

How to look up a price for a line item? local_pricelist_items → by pricelist_id from config + lot_name. Prices are never taken from local_components.

Pre-commit check? go build ./cmd/qfs && go vet ./...

What must never be restored? cron jobs, admin pricing, alerts, stock import, importer utility — all removed intentionally.

Where is the release changelog? releases/memory/v{major}.{minor}.{patch}.md