docs: MIT license + public-readiness framing
CI / Tidy (push) Successful in 9m42s
CI / Build & Test (push) Successful in 10m32s
CI / Publish Docker Image (push) Successful in 1m16s

Add MIT LICENSE (matches gadfly/majordomo, same author). README + CLAUDE.md:
note this is a public, vibe-coded project; clarify the `go-llm` referenced in
the docs is now majordomo, and link it + gadfly as the downstream consumers
(foreman is a drop-in native-Ollama target via majordomo's ollama.Foreman
preset). CLAUDE.md gains a Build / test / run section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 20:30:52 -04:00
parent 7cd7eaff8b
commit 823c0b4ca8
3 changed files with 101 additions and 26 deletions
+17 -3
View File
@@ -1,12 +1,22 @@
# foreman
A small, always-on Go daemon that fronts **one** Ollama target. It turns a
🪓 A small, always-on Go daemon that fronts **one** Ollama target. It turns a
single Ollama instance into a queued, observable job endpoint: it polls the
target's installed models, serializes work through the target (managing model
swaps), assigns every job an ID, and reports progress via webhooks.
On the wire it speaks **native Ollama**, so it doubles as a drop-in `go-llm`
target.
On the wire it speaks **native Ollama**, so it doubles as a drop-in target for
any Ollama client — including [majordomo](https://gitea.stevedudenhoeffer.com/steve/majordomo)
(via its `ollama.Foreman(url, token)` preset) and, through that,
[gadfly](https://gitea.stevedudenhoeffer.com/steve/gadfly). Point a client at the
foreman URL instead of the raw Ollama and you get queuing + model-swap
serialization for free.
> **This is a public, vibe-coded project** (built largely by an AI agent). It runs
> the author's homelab but is intentionally generic — one daemon, one target, one
> queue. Treat the homelab specifics in the docs as illustrative, and don't
> oversell it: it's a deliberately small queue in front of Ollama, not a
> distributed scheduler.
## Quickstart
@@ -61,3 +71,7 @@ See [`docs/adr/`](docs/adr/) for design decisions. Key points:
- Single worker loop with drain-by-model scheduling (ADR-0009)
- Native Ollama passthrough + async `/jobs` surface (ADR-0003, ADR-0004)
- Embeddings bypass the queue entirely (ADR-0013)
## License
[MIT](LICENSE) © 2026 Steve Dudenhoeffer.