Implement Phase 0+1: project setup, config, database, migrations

- Go module, Makefile, .golangci.yaml, .gitignore, example config
- TOML config loading with validation
- SQLite database with WAL, foreign keys, busy timeout
- Schema migrations: users, webauthn_credentials, notebooks, pages,
  strokes, share_links with indexes and cascading deletes
- 4 tests: open+migrate, idempotent, foreign keys, cascade delete

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 19:47:38 -07:00
parent 0cce04b5b8
commit 9077117e74
10 changed files with 526 additions and 0 deletions

32
.golangci.yaml Normal file
View File

@@ -0,0 +1,32 @@
version: "2"
linters:
enable:
- errcheck
- govet
- ineffassign
- unused
- errorlint
- gosec
- staticcheck
- revive
- gofmt
- goimports
settings:
errcheck:
check-type-assertions: true
govet:
disable:
- shadow
gosec:
excludes:
- G104
issues:
max-issues-per-linter: 0
formatters:
enable:
- gofmt
- goimports