Commit Graph
23 Commits
Author SHA1 Message Date
john-okeefe 5b7540be99 docs: update Alpine.js migration guide and project guidelines
- Fix incorrect function references in ALPINE_COMPLETION_GUIDE.md
  - header.changeThemeTo -> changeTheme
  - header.logout -> logout
  - woodPaneling.change -> changeWoodPaneling
- Add SSR-first principles section to PROJECT_GUIDELINES.md
- Add page type classifications (Type 1, 2, 3)
- Fix extra asterisks on line 43
- Update to reference TypeScript instead of JavaScript
2026-03-13 12:50:47 -04:00
john-okeefe df132c8010 docs: clarify testing and API documentation requirements in PROJECT_GUIDELINES.md
Minor updates to clarify project guidelines:

Testing section:
- Correct test_helpers.go filename reference (test_helpers_test.go)
- Clarify integration test requirements (cmd/server/tests) vs all tests

API Changes section:
- Change 'Bruno tests' to 'Bruno requests' for clarity
- Specify integration test files (cmd/server/tests) in documentation workflow

Documentation section:
- Update 'Bruno OpenCollection YAML tests' to 'Bruno OpenCollection YAML requests'

These are documentation clarifications only - no code changes.
Ensures consistency between guidelines and actual project structure.
2026-03-06 22:26:37 -05:00
john-okeefe 4d321528b2 docs: update comprehensive API documentation and project guides
This commit updates all documentation files throughout the project:

- Updated IMPLEMENTATION_PLAN.md with new implementation details
- Updated PROJECT_GUIDELINES.md with coding standards and practices
- Updated README.md with current project information
- Updated SCREENSHOT_AUTOMATION.md with new automation details
- Added TEST_DATA.md with test fixtures data
- Updated cover_image_serving_plan.md with static URL patterns

Documentation API updates:
- Updated API reference documentation for all endpoints including:
  - Authentication (login, logout, register, refresh_token)
  - Book matching (auto_link, bulk_link, link_book, search)
  - Collections (CRUD operations, shelf mappings, auto-assign rules)
  - Conflicts (bulk operations, resolve/dismiss)
  - Devices (registration, approval, shelf management)
  - Highlights (create, update, delete, get)
  - Kobo sync (bookmark, markup, initialization, sync)
  - KOReader sync (library, metadata, bookmarks, progress)
  - Libraries (CRUD, folders, media items, stats)
  - Media items (bulk operations, CRUD)
  - Notes (CRUD operations)
  - OPDS (acquisition, feeds, publication)
  - Progress (reading progress tracking)
  - Queue (device queue management)
  - Ratings (star ratings)
  - Scanner (watch mode, scan operations)
  - Sync protocols (Kobo, KOReader)
  - Users (profile, password, admin operations)
  - WebSocket protocols

- Updated user guides (admin, dashboard, settings, sync)
- Updated device setup guides (Kobo, KOReader)
- Updated developer guides (testing, contributing, operations)
- Updated scripts/README.md
2026-02-27 17:06:22 -05:00
john-okeefe 6562b20ee5 docs: add code indentation guideline to project standards
Add explicit guideline specifying 2-space indentation for all code files
unless the language prohibits it. This ensures consistent formatting across
the entire codebase and prevents debates about tab vs space preferences.

The guideline is placed in the General section alongside other coding
convention rules to maintain consistency in project standards.
2026-02-27 16:57:41 -05:00
john-okeefe 9b4eee0c1f docs: add git workflow guidelines for sequential command execution 2026-02-24 10:46:30 -05:00
john-okeefe a47ef18669 docs: add inline JS exception to guidelines
Inline JS function calls in HTML attributes (e.g., onclick="myFunction()")
are acceptable for simple interactions
2026-02-21 00:59:34 -05:00
john-okeefe 4988eb8b27 docs: add exception for inline CSS in error template
Allow inline CSS in templates/error.templ since error pages must work
when the main app fails (404, server errors, CSS fails to load).
2026-02-20 13:26:40 -05:00
john-okeefe 105c427544 docs: update Bruno terminology to OpenCollection YAML format
Update all references from "Bruno DSL .bru files" to "Bruno OpenCollection YAML .yml files" to reflect the current Bruno format. This includes:

- PROJECT_GUIDELINES.md: Update API testing requirements
- README.md: Update command examples
- TEST_DATA.md: Update test data references
- docs/contributing/development.md: Update API testing section
- docs/developer/api-reference.md: Update Bruno testing documentation
- docs/developer/collections-api.md: Update test file references
- scripts/README.md: Update validation script documentation
- scripts/verify-guidelines.sh: Update file extension check (.bru → .yml)
- bruno/opencollection.yml: Rename collection from "Untitled Collection" to "Bookhoard"
2026-02-17 20:24:20 -05:00
john-okeefe 23948a5992 docs: add type sharing guidelines to PROJECT_GUIDELINES
Add guidelines for sharing types between handlers and templates to prevent
duplication and maintain consistency across the codebase.
2026-02-12 19:53:00 -05:00
john-okeefe 416773663c docs: add TypeScript domain extraction guideline to PROJECT_GUIDELINES
- Add principle for extracting domain concepts/types only when clearly beneficial
- Emphasize YAGNI approach to avoid over-engineering TypeScript code
- Allow sensible extraction when it reduces duplication or complexity
2026-02-12 10:52:53 -05:00
john-okeefe 891209b4bd test(infrastructure): Configure pgxpool with max_conns=1
Fix database connection exhaustion in tests by setting max_conns=1
when creating pgxpool via pgxpool.ParseConfig().

- Update setupTestServer() in test_helpers.go
- Update setupSyncTestDB() in sync_integration_test.go

This reduces per-test connection usage from 4 to 1, keeping total
connections well under PostgreSQL's default max_connections=100.

78 tests × 1 connection = 78 connections (down from 312 potential)

Fixes test failures: "FATAL: sorry, too many clients already"

See PROJECT_GUIDELINES.md Testing section for details.
2026-02-11 10:37:38 -05:00
john-okeefe c2cba82146 docs: Clarify database schema update process in PROJECT_GUIDELINES
- Add explicit note that this is pre-production (no deployments)
- Document two options for updating local databases after schema changes
- Option 1: Recreate database (recommended, loses data)
- Option 2: Manual SQL migration (preserves data)
- Explicitly state: DO NOT create migration files
- Update checklist to include database update step
- Cross-reference from full-stack tasks section

Clarifies the 'no migration needed' philosophy for future developers
2026-02-09 15:19:45 -05:00
john-okeefe cb76b9ca05 docs: update terminology from Bruno v3.0 to Bruno DSL
Update project guidelines to use current Bruno DSL terminology
instead of deprecated 'Bruno v3.0' phrasing.
2026-02-08 20:49:00 -05:00
john-okeefe bac7ba8a75 docs: clarify TypeScript paradigm as pragmatic imperative over OOP 2026-02-03 08:52:42 -05:00
john-okeefe ab72c783ba docs: strengthen warning handling to prohibit auto-fix
- Change 'Review warnings, fix if appropriate' to 'Note warnings'
- Clarify warnings are informational only
- Explicitly prohibit auto-fixing warnings
- Align with verification script instruction: DO NOT automatically fix
- Warnings require explicit user permission to address
2026-02-02 16:53:58 -05:00
john-okeefe 62b02b6ed2 docs: clarify verification script error/warning handling
- Separate error fixing (required) from warning review (informational)
- Remove ambiguous 'warnings should be reviewed' phrasing
- Align with script instruction: do not auto-fix issues
- Make clear: errors must be fixed, warnings are for acknowledgment
2026-02-02 16:52:57 -05:00
john-okeefe 3a494fe703 docs: add verification script to pre-commit checklist
- Add 'Run verification script' as first step in Before Committing
- Add verification script to Phase Completion Verification
- Ensures guideline compliance before commits
- Catches errors early in development workflow
- Verification must pass (0 errors) before declaring complete
2026-02-02 16:52:10 -05:00
john-okeefe 155b58aef6 docs: restructure documentation and update guidelines
- Update PROJECT_GUIDELINES.md to reflect current architecture (Hybrid SSR)
- Integrate service layer and SSR rules into existing sections
- Update README.md paths to match new docs structure (docs/developer/api, docs/user/devices)
- Remove redundant README.md files from bruno/ directories
- Update bruno/collection.bru documentation to current API standard
- Fix architectural pattern description from API-driven to Hybrid SSR
2026-02-02 16:45:59 -05:00
john-okeefe a3709dc38a docs: Update PROJECT_GUIDELINES documentation section
Update Documentation section to reflect new docs/ structure:
- Add comprehensive documentation location table
- Clarify when to use docs/ vs README.md
- Include workflow for documentation updates
- Update all checklist sections with documentation guidance

Changes:
- README.md: Setup/onboarding only
- docs/: User-facing features and workflows
- docs/api/: API reference and endpoints
- docs/devices/: Device setup guides
- docs/contributing/: Development documentation

Ensures documentation is properly organized and searchable
via the new docs system with Lunr.js search.
2026-02-02 10:38:00 -05:00
john-okeefe 6d6640e23b docs: clarify OOP guideline - applies to TypeScript, not Go
Updated PROJECT_GUIDELINES.md and verification script to clarify:

1. OOP restriction applies to FRONTEND (TypeScript) only
2. Go methods are fine and encouraged
3. Avoid classes, inheritance, and OOP bloat in TypeScript

Changed verification script:
- Removed Go struct methods check (was incorrect)
- Added TypeScript class declaration check instead
- Now checks for 'class ' keyword in web/*.ts files

This clarifies the guideline was never about Go backend code,
only about avoiding OOP patterns in TypeScript frontend code.

Verification now shows: 13/13 checks passing, 0 warnings
Only 1 error remains: 12 legacy templates with custom CSS.
2026-02-02 10:12:41 -05:00
john-okeefe 67629b0c14 Rename project documentation: Bookmann → Bookhoard
Documentation updates:
- Update README.md title and all references
- Update PROJECT_GUIDELINES.md title and guidelines
- Update all documentation files in docs/ directory
- Update device setup guides (Kobo, KOReader)
- Update API and architecture documentation
- Update completion summaries and progress reports

This is part 5 of the project rename to Bookhoard.
2026-02-01 16:12:12 -05:00
john-okeefe 8d7a7a8045 docs: add code modification safety protocols to guidelines
Added 110 lines of safety guidelines to prevent future bugs:

New CRITICAL PROHIBITIONS:
- NEVER delete code without reading full context (20 lines before/after)
- NEVER make cascading fix-up edits without git diff review
- NEVER skip post-edit verification

New MANDATORY REQUIREMENTS:
- Post-Edit Verification (mandatory for all file modifications)
- Backup Before Large Changes
- Large Deletion Safety Pattern

New ERROR RECOVERY PROTOCOL:
- Immediate actions when mistakes occur
- Recovery examples with git commands
- Prevention learning points

New WORKFLOW CHECKLISTS:
- Error Recovery Protocol
- Phase Completion Verification

These guidelines address the critical bug where auth functions were
accidentally deleted during cleanup, preventing recurrence.
2026-02-01 14:11:32 -05:00
john-okeefe 0a97b679a6 docs: Add hybrid SSR and project guidelines documentation
- Document hybrid SSR architecture for frontend implementation
- Add project guidelines for development workflow
- Explain API preservation and SSR approach
2026-01-31 22:32:52 -05:00