clawbot
15caf5c8d2
Fix all lint/build issues on main branch ( closes #13 )
...
- Resolve duplicate method declarations (CreateUser, GetUserByToken,
GetUserByNick) between db.go and queries.go by renaming queries.go
methods to CreateSimpleUser, LookupUserByToken, LookupUserByNick
- Fix 377 lint issues across all categories:
- nlreturn (107): Add blank lines before returns
- wsl_v5 (156): Add required whitespace
- noinlineerr (25): Use plain assignments instead of inline error handling
- errcheck (15): Check all error return values
- mnd (10): Extract magic numbers to named constants
- err113 (7): Use wrapped static errors instead of dynamic errors
- gosec (7): Fix SSRF, SQL injection warnings; add nolint for false positives
- modernize (7): Replace interface{} with any
- cyclop (2): Reduce cyclomatic complexity via command map dispatch
- gocognit (1): Break down complex handler into sub-handlers
- funlen (3): Extract long functions into smaller helpers
- funcorder (4): Reorder methods (exported before unexported)
- forcetypeassert (2): Add safe type assertions with ok checks
- ireturn (2): Replace interface-returning methods with concrete lookups
- noctx (3): Use NewRequestWithContext and ExecContext
- tagliatelle (5): Fix JSON tag casing to camelCase
- revive (4): Rename package from 'api' to 'chatapi'
- rowserrcheck (8): Add rows.Err() checks after iteration
- lll (2): Shorten long lines
- perfsprint (5): Use strconv and string concatenation
- nestif (2): Extract nested conditionals into helper methods
- wastedassign (1): Remove wasted assignments
- gosmopolitan (1): Add nolint for intentional Local() time display
- usestdlibvars (1): Use http.MethodGet
- godoclint (2): Remove duplicate package comments
- Fix broken migration 003_users.sql that conflicted with 002_schema.sql
(different column types causing test failures)
- All tests pass, make check reports 0 issues
2026-02-20 02:51:32 -08:00
df2217a38b
Add embedded web chat client ( closes #7 ) ( #8 )
2026-02-11 03:02:41 +01:00
95ccc1b2cd
Add complete database schema and ORM models ( #4 )
2026-02-11 03:02:33 +01:00
clawbot
03cbc3cd1a
Add Dockerfile and .dockerignore
...
Multi-stage build: golang:1.24-alpine builder, alpine:3.21 runtime.
Verified locally: all fx modules instantiate, migrations run,
healthcheck responds at /.well-known/healthcheck.json.
2026-02-09 12:36:55 -08:00
clawbot
18e7218d9e
Fix .gitignore: /chatd not chatd (was ignoring cmd/chatd/ dir)
...
The bare 'chatd' pattern matched the cmd/chatd/ directory,
preventing main.go from being tracked. Use /chatd to only
match the binary at the repo root.
2026-02-09 12:35:24 -08:00
e6621ef7c6
Merge pull request 'Fix all lint issues, add AGENTS.md with workflow rules' ( #3 ) from fix/agents-md-workflow into main
2026-02-09 21:33:34 +01:00
clawbot
6a108749a1
Fix all lint issues and update AGENTS.md workflow rules
...
- Fix stuttering type names (e.g. config.ConfigParams → config.Params)
- Add doc comments to all exported types/functions/methods
- Add package doc comments to all packages
- Fix JSON tags to camelCase
- Extract magic numbers to constants
- Add blank lines per nlreturn/wsl_v5 rules
- Use errors.Is() for error comparison
- Unexport NewLoggingResponseWriter (not used externally)
- Replace for-range on ctx.Done() with channel receive
- Rename unused parameters to _
- AGENTS.md: all changes via feature branches, no direct main commits
2026-02-09 12:33:08 -08:00
clawbot
7b0ff178d4
AGENTS.md: no direct commits to main, all changes via feature branches
2026-02-09 12:31:14 -08:00
clawbot
e9b6eb862e
Add AGENTS.md with coding and commit rules
2026-02-09 12:30:18 -08:00
clawbot
c8f546ecab
Add .golangci.yml linting config and comprehensive Makefile
2026-02-09 12:27:39 -08:00
clawbot
5e9be8ccaf
Add models package with embedded DB interface pattern
...
- internal/models/model.go: DB interface + Base struct for all models
- internal/models/channel.go: Channel model with DB access for relation queries
- Database.NewChannel() factory injects db reference into model instances
- Uses interface to avoid circular imports (models -> db)
2026-02-09 12:24:23 -08:00
clawbot
8bb083a7f8
Add project scaffolding with fx DI, SQLite migrations, and healthcheck
...
- go.mod with git.eeqj.de/sneak/chat module
- internal packages: globals, logger, config, db, healthcheck, middleware, handlers, server
- SQLite database with embedded migration system (schema_migrations tracking)
- Migration 001: schema_migrations table
- Migration 002: channels table
- Config with chat-specific vars (MAX_HISTORY, SESSION_TIMEOUT, MAX_MESSAGE_SIZE, MOTD, SERVER_NAME, FEDERATION_KEY)
- Healthcheck endpoint at /.well-known/healthcheck.json
- Makefile, .gitignore
- cmd/chatd/main.go entry point
2026-02-09 12:22:28 -08:00
clawbot
c1a7a14b46
Add CONVENTIONS.md from gohttpserver
2026-02-09 12:20:18 -08:00
clawbot
f8a43dbb79
Initial spec: HTTP-based IRC replacement
2026-02-09 12:05:48 -08:00