So the thing can be built and run without reading the harness. Eight targets, each one go command or verify.sh; make help lists them. README gains the four lines someone actually needs, and says a site root is a directory the binary is pointed at rather than something in this repo. make is recorded in toolchain.md as a convenience: the gate never invokes it, so a machine without make loses nothing but typing.
29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# khosra
|
|
|
|
A flat-file personal publishing engine in Go. Point the binary at a directory of Markdown and it
|
|
becomes an owned, networked home for fiction, webcomics, art, and essays, in English and Bengali.
|
|
The site's content lives in its own repository, not this one (ADR-0011).
|
|
|
|
## Build and run
|
|
|
|
Needs Go 1.26+ and git; nothing else.
|
|
|
|
```
|
|
make build # or: go build -o khosra ./cmd/khosra
|
|
make run SITE=/path/to/site # or: ./khosra -site /path/to/site
|
|
make test
|
|
make verify # everything the project enforces — green before every commit
|
|
```
|
|
|
|
`make help` lists targets. `make` is a convenience wrapper; `go build`, `go test` and
|
|
`./scripts/verify.sh` work on their own and are what the gate uses.
|
|
|
|
A site root is a directory holding `content/`, and optionally `static/` and `templates/`. It lives in its
|
|
own repository, not this one — the binary is pointed at it.
|
|
|
|
**If you are a human:** start at [HARNESS.md](HARNESS.md) — what the scaffolding is, how to use it,
|
|
and what to decide.
|
|
|
|
**If you are an agent:** start at [CLAUDE.md](CLAUDE.md) — the constitution and the read order. It is
|
|
loaded for you automatically; this file is not a prerequisite and nothing here is a rule.
|