Use provider-local SQL and Go migrations, injected slog logging, and PostgreSQL session locking. Exercise timestamp migration flows and failures with SQLite and PostgreSQL, including concurrent startup, and require PostgreSQL integration coverage in CI. Refs #7
35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# corestack go
|
|
|
|
Shared Go building blocks. The first one is `docs`, a checker for architecture decision records (ADRs) and implementation plans.
|
|
|
|
## migrate
|
|
|
|
[`migrate`](migrate/README.md) configures Goose providers for embedded SQL and Go
|
|
migrations, with structured logging and Postgres startup locking.
|
|
|
|
## docs
|
|
|
|
Install:
|
|
|
|
```sh
|
|
go install go.auvem.com/corestack/cmd/docs@latest
|
|
```
|
|
|
|
Use, from a repository root:
|
|
|
|
```sh
|
|
docs new adr "Use Example Queue for background jobs" # creates docs/adr/<id>.md
|
|
docs new plan "Adopt Example Queue" # creates docs/plans/<id>.md
|
|
docs check [--root DIR] # prints path:line: message; exit 1 on problems
|
|
```
|
|
|
|
The format is specified in [docs/docs-format.md](docs/docs-format.md); that document is the complete rule set. Exit status is `0` when every record is valid, `1` when problems are reported and `2` for usage errors.
|
|
|
|
## Status
|
|
|
|
No support is guaranteed. Breaking changes, including to the format rules, may happen before 1.0 and are listed in the release notes.
|
|
|
|
## License
|
|
|
|
BSD-3-Clause, see [LICENSE](LICENSE).
|