Related: #3 (this issue decomposes the restructuring portion of #3)
Summary
Reorganize the librenotes Go codebase from the flat Notesium layout into a standard Go project structure with cmd/ and internal/ directories. This establishes the package architecture needed for multi-package development in subsequent phases (user model, auth, tenant isolation).
Acceptance Criteria
Main entry point moved to cmd/librenotes/main.go
Internal packages extracted into internal/ directory
All import paths updated for new directory structure
go build ./cmd/librenotes builds successfully
All existing tests pass: go test ./...
go vet ./... reports no issues
README updated with new build instructions
Dependencies
#34 Rename Go module and rebrand from Notesium to librenotes (must complete first to avoid double-refactoring import paths)
Scope Notes
Does NOT add new packages or functionality
Does NOT modify application behavior
Frontend/web assets may remain in their current location
Focus is on Go code organization only
Package boundaries should anticipate Phase 1 needs (user model, auth) but not implement them
## Parent
#2 (Epic: Phase 0 — Foundation)
**Related**: #3 (this issue decomposes the restructuring portion of #3)
## Summary
Reorganize the librenotes Go codebase from the flat Notesium layout into a standard Go project structure with cmd/ and internal/ directories. This establishes the package architecture needed for multi-package development in subsequent phases (user model, auth, tenant isolation).
## Acceptance Criteria
- [x] Main entry point moved to cmd/librenotes/main.go
- [x] Internal packages extracted into internal/ directory
- [x] All import paths updated for new directory structure
- [x] go build ./cmd/librenotes builds successfully
- [x] All existing tests pass: go test ./...
- [x] go vet ./... reports no issues
- [x] README updated with new build instructions
## Dependencies
- #34 Rename Go module and rebrand from Notesium to librenotes (must complete first to avoid double-refactoring import paths)
## Scope Notes
- Does NOT add new packages or functionality
- Does NOT modify application behavior
- Frontend/web assets may remain in their current location
- Focus is on Go code organization only
- Package boundaries should anticipate Phase 1 needs (user model, auth) but not implement them
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
#2 (Epic: Phase 0 — Foundation)
Related: #3 (this issue decomposes the restructuring portion of #3)
Summary
Reorganize the librenotes Go codebase from the flat Notesium layout into a standard Go project structure with cmd/ and internal/ directories. This establishes the package architecture needed for multi-package development in subsequent phases (user model, auth, tenant isolation).
Acceptance Criteria
Dependencies
Scope Notes