Files
QuoteForge/bible-local/README.md
Michael Chus eb7c3739ce Add shared bible submodule, rename local bible to bible-local
- Add bible.git as submodule at bible/
- Rename bible/ → bible-local/ (project-specific architecture)
- Update CLAUDE.md to reference both bible/ and bible-local/
- Add AGENTS.md for Codex with same structure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 16:41:14 +03:00

2.0 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.

On every user-requested commit, the Bible must be reviewed and updated in that commit.

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