Huginn/README.md

40 lines
1.2 KiB
Markdown
Raw Normal View History

2026-06-05 12:23:59 +01:00
# Huginn
2026-05-06 03:11:02 +01:00
2026-06-05 12:42:30 +01:00
Huginn reads CultCache `.cc` state and emits Eve DSL.
2026-05-06 03:11:02 +01:00
2026-06-05 12:23:59 +01:00
CultLib owns the CultCache implementation: document registration, MessagePack
payloads, schema catalogs, backing stores, and the canonical
2026-06-05 12:42:30 +01:00
`cultcache.store.v1` snapshot parser/writer. Huginn consumes CultLib's
`cultcache-ts/inspection` surface and projects inspection results into UI
documents that Eve-capable runtimes can lower.
2026-05-06 03:11:02 +01:00
2026-06-05 12:42:30 +01:00
## Authority
2026-05-06 03:11:02 +01:00
2026-06-05 12:42:30 +01:00
- Owner: Huginn owns `.cc` inspection projection, not `.cc` persistence.
- Input: `.cc`, `.msgpack`, or `.mpack` bytes readable by CultLib.
- Output: Eve DSL for `cultcache.huginn.inspector`.
- Renderers: browser, native, overlay, TUI, or future rooms lower the emitted
DSL without becoming state owners.
2026-05-06 03:11:02 +01:00
2026-06-05 12:42:30 +01:00
There is no Electron app, Vite dashboard, React renderer, or Norn-owned
presentation path in this repo. If a runtime wants to display Huginn, it should
consume the emitted Eve DSL.
## CLI
2026-06-05 12:23:59 +01:00
```sh
npm install
npm run build
2026-06-05 12:42:30 +01:00
npx huginn path/to/state.cc > huginn.eve
```
2026-06-05 12:42:30 +01:00
The CLI writes Eve DSL to stdout and errors to stderr.
2026-06-05 12:42:30 +01:00
## API
2026-06-05 12:42:30 +01:00
```ts
import { inspectCultCacheBytes, buildHuginnEveDsl } from "@gamecult/huginn";
2026-06-05 12:42:30 +01:00
const inspection = inspectCultCacheBytes(filePath, bytes);
const eveDsl = buildHuginnEveDsl(inspection);
2026-05-06 03:11:02 +01:00
```