NextMyDay/internal/modules/generate.go
Claus Lohmar d7d2c7d2b6 feat(module): add the module registry, discovery and the home module (SPEC-008)
- Build-time discovery (D-028, the Caddy pattern): a module self-registers from
  init(); internal/modules/imports_gen.go (go:generate) blank-imports every
  module directory, so THE DIRECTORY IS THE SOURCE OF TRUTH
- The registry: deterministic registration order, config-backed enable/disable
  (D-038), required modules, name-prefixed migrations, Mount() into the door
- The name-collision guard now also fails a module named for a reserved
  level-1 workflow (SPEC-009 §13 Q-1) — access · static · api · media · ws ·
  dev — derived from routing.ReservedWorkflows, `home` excepted (D-2)
- home: the reference dashboard module, and the core Modules page
2026-10-14 10:53:57 +00:00

11 lines
558 B
Go

// Package modules aggregates MyDay's drop-in modules for BUILD-time discovery
// (D-028, SPEC-008 §3). The directory is the source of truth: every
// sub-directory under internal/modules/ that holds Go source is a module, and
// the generated aggregator (imports_gen.go) blank-imports each so its init()
// self-registration runs at process start.
//
// Adding a module is: create internal/modules/<name>/ (app.go · routing.go ·
// handlers.go), run `go generate ./internal/modules`, rebuild. No core edits.
package modules
//go:generate go run ./gen .