Commit graph

25 commits

Author SHA1 Message Date
Jon Seager
74e3b600fc chore: Switch e2e tests to Chrome for Testing via mise
Replace snap-installed Chromium/chromedriver with Chrome for Testing
installed via npx @puppeteer/browsers. Binaries live in
$MISE_DATA_DIR/chrome-for-testing/ with version-agnostic path lookup.

Add install-e2e mise task and required apt packages to README and CI.
2026-05-22 12:03:03 +01:00
Jon Seager
527358b695 chore: migrate from Nix to mise for dev environment management
Replace Nix flake with mise for toolchain management, treefmt for
formatting, prek for pre-commit hooks, and a Dockerfile for container
builds. Update CI workflows to use jdx/mise-action instead of Nix.

Add system dependency instructions to README.md and CLAUDE.md.
2026-05-22 12:03:03 +01:00
Jon Seager
98053a8679
docs: add note about Claude usage in README 2026-02-12 15:55:57 +00:00
Jon Seager
e0e49f8125
docs: add cover image to README 2026-02-09 17:47:29 +00:00
Jon Seager
36540a3b90
docs: rewrite README with docker quick start and new defaults
Restructure the quick start to lead with Docker, add install-from-git
as a secondary option, update the config table to reflect the new
localhost defaults and auto-enabled insecure cookies, and consolidate
the Docker section into the quick start.
2026-02-09 17:24:15 +00:00
Jon Seager
31dc620b0a
build: add treefmt and pre-commit 2026-02-09 11:35:21 +00:00
Jon Seager
d2ff4eb854
docs: update CLAUDE.md and README.md for recent refactors
- Update architecture tree for coffee/auth/analytics subdirectory split
- Fix infrastructure/ai/ (dir) to infrastructure/ai.rs (file)
- Fix stale file paths in gotchas #8, #11, #12
- Update OG image path from /og-image.png to /static/og-image.png
- Expand detail pages section from 3 to 7 pages
- Add map_with_legend_1 macro, fix Used-by columns
- Document <donut-chart> web component
- Add check-in, scanning, timeline, stats to README feature list
2026-02-08 18:30:25 +00:00
Jon Seager
ba319e3ab7
copy: remove second-person pronouns, use imperative tone
Replace "you/your" with impersonal alternatives across all
user-facing strings in templates, CLI output, error messages,
and documentation. Add copy style rule to CLAUDE.md.
2026-02-08 09:50:49 +00:00
Jon Seager
835423f6ca
chore: remove unused ADMIN env vars, document BREWLOG_INSECURE_COOKIES
BREWLOG_ADMIN_USERNAME and BREWLOG_ADMIN_PASSWORD were referenced in
docs but never used in the codebase (WebAuthn-only auth). Replace with
the new BREWLOG_INSECURE_COOKIES variable.
2026-02-06 17:52:21 +00:00
Jon Seager
837c548fd3
feat(nix): add Docker container build to flake
- Add brewlog-container package using dockerTools.buildImage
- Include cacert for TLS with /etc/ssl/certs and /bin linked
- Run as uid/gid 1000 with database at /data/brewlog.db
- Document Docker usage in README
2026-02-06 16:47:05 +00:00
Jon Seager
a6eaf26814
refactor: remove PostgreSQL feature-flagged support
- Remove sqlite/postgres feature flags from Cargo.toml
- Replace "any" sqlx feature with direct "sqlite" feature
- Remove all #[cfg] conditional compilation from database.rs
- Update README.md and CLAUDE.md to reflect SQLite-only support
2026-02-06 13:26:41 +00:00
Jon Seager
765acf5d6b
docs: rewrite README for clarity and brevity
Consolidate from ~250 lines to ~130, focusing on intro, quick start,
configuration reference, contributing, and license. Replace build-from-source
with cargo install instructions.
2026-02-06 13:21:04 +00:00
Jon Seager
0e620dcb2a
docs: update README and CLAUDE.md for improved logging
- Add RUST_LOG_FORMAT environment variable to README server config table
- Add logging & tracing section to CLAUDE.md covering error logging rules,
  CRUD operation logging, and security event logging practices
2026-02-05 18:52:26 +00:00
Jon Seager
6d12b71482
refactor(cups): remove rating field
Drop the rating column from cups. This removes the field from the
domain model, repository, API routes (including the PUT/update
endpoint), CLI, and all related tests.
2026-02-05 17:02:42 +00:00
Jon Seager
c6b98f81c9
docs: update documentation for passkey auth
- Replace BREWLOG_ADMIN_USERNAME/PASSWORD with BREWLOG_RP_ID/RP_ORIGIN
- Document first-user bootstrap via one-time registration URL
- Document CLI browser handoff flow for token creation
- Update bootstrap script for new token creation process
- Change default URL references from 127.0.0.1 to localhost
2026-02-05 11:00:25 +00:00
Jon Seager
50a372015c
feat(backup): expose backup/restore via authenticated API endpoints
- Add GET /api/v1/backup and POST /api/v1/backup/restore endpoints
  behind AuthenticatedUser
- Add BackupService to AppState and BackupClient for HTTP access
- Update CLI backup/restore to use API instead of direct DB access
- Remove --database-url flag from backup and restore commands
- Increase body limit to 50MB for restore endpoint
- Add API and CLI tests for auth, export, restore, and round-trip
- Update README to document auth requirement and API endpoints
2026-02-04 19:38:49 +00:00
Jon Seager
a31c91211c
refactor: require OpenRouter and Foursquare API keys at startup
- Remove has_ai_extract/has_foursquare conditionals from all templates
- Remove boolean fields from template structs and route handlers
- Remove has_ai_extract()/has_foursquare() methods from AppState
- Change API key fields from Option<String> to String in ServerConfig
  and AppState
- Validate keys in run_server() with clear error messages
- Remove runtime key checks from extraction/nearby route handlers
- Update README and CLAUDE.md to reflect required configuration
2026-02-04 16:13:04 +00:00
Jon Seager
ae3c1090de
refactor(cafes,cups): remove notes field from Cafe and Cup entities
- Add migrations 0014 and 0015 to drop notes columns
- Remove notes from domain structs, repositories, views, CLI, routes
- Remove notes textarea/columns from web templates
- Update bootstrap script, tests, backup module, and README
2026-02-03 21:09:34 +00:00
Jon Seager
267b843a37
docs: update README with current CLI commands and features
- Fix CLI examples to use subcommand style (e.g. brewlog roaster add)
- Document all environment variables including .env file support
- Add sections for AI extraction, Foursquare nearby search, database
  feature flags, and backup/restore
2026-02-03 20:51:01 +00:00
Jon Seager
02824a90f1
feat: add username/password flags to create-token command 2025-11-26 16:32:40 +00:00
Jon Seager
4358fa63dc
feat: add BREWLOG_ADMIN_USERNAME to select admin username on first start 2025-11-26 16:27:50 +00:00
Jon Seager
61c6b146f6
docs: update README 2025-11-25 16:34:27 +00:00
copilot-swe-agent[bot]
e710c6dc62
refactor: improve code quality and add comprehensive documentation
Code Quality Improvements:
- Fix hex literal grouping in ID generator (0xB10C_1D -> 0x00B1_0C1D)
- Rename ListQuery::default() to default_query() to avoid confusion with Default trait
- Use div_ceil() instead of manual ceiling division
- Remove unnecessary borrows in auth token generation and hashing
- Simplify nested if statements in error handling

Documentation:
- Add comprehensive authentication section to README
- Document environment variables for server and CLI
- Add security best practices and considerations
- Document password hashing (Argon2id), token storage (SHA-256), and session management
- Include step-by-step authentication setup guide
- Add production deployment recommendations

All 70 tests pass (8 unit + 46 server + 16 CLI) 

Co-authored-by: jnsgruk <668505+jnsgruk@users.noreply.github.com>
2025-11-25 16:28:51 +00:00
Jon Seager
9c4734172f
docs: fix the admonition in the README 2025-11-24 17:15:27 +00:00
Jon Seager
2aad695870
docs: add a simple README 2025-11-24 16:37:13 +00:00