Restructure Go codebase into standard project layout #35

Open
opened 2026-03-03 22:59:06 +01:00 by libretech · 0 comments
Owner

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

  • 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 - [ ] 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
libretech added the
phase-0
task
backend
labels 2026-03-03 22:59:06 +01:00
Sign in to join this conversation.
No description provided.