1
77
近 7 天 11
33.3
生态多维模型
21 天前
2026-07-29
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@runecraft/spawn@0.0.6"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@runecraft/spawn@0.0.6"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D @runecraft/spawnopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
Artifacts
Five independent packages, each installable on its own — none of them require the others.
| Artifact | Package | What it does | Status |
|---|---|---|---|
| Spells | @runecraft/spells |
17 SKILL.md files AI agents load as specialized instructions |
Published |
| Summon | @runecraft/summon |
Interactive CLI that installs Spells (and other tools) into any project | Published |
| Runes | @runecraft/runes |
OpenCode plugin giving agents durable, SQLite-backed, per-repo memory | Published |
| Guild | @runecraft/guild |
OpenCode plugin: 8 RPG-themed agents, workflows, and orchestration hooks | Published |
| Spawn | @runecraft/spawn |
OpenCode plugin that opens a live tmux pane for every subagent | Published |
| Grimoire | @runecraft/grimoire |
Shared Biome + TypeScript configs, inherited by every package above | Internal |
| Familiar | @runecraftai/familiar |
Internal Pi multi-agent runtime — private, not published | Internal |
What this is
Arcanum is the monorepo behind the Runecraft family of OpenCode tooling. It's a Bun workspace, not a framework: each package above ships and versions independently on npm, and picking one doesn't pull in the rest.
Why five separate packages
Memory, orchestration, skill definitions, installation, and terminal visibility are different concerns with different lifecycles — Runes changes on a different cadence than Spawn, and a user who only wants persistent memory shouldn't have to install an 8-agent orchestration layer to get it. Splitting them keeps each package's surface area small enough to reason about, test, and version on its own.
How it works
- Bun workspaces link
packages/*together for local development; published packages resolveworkspace:*to real semver ranges viabun pm pack. - Turborepo v2 orchestrates
build/lint/testacross packages with caching and dependency-aware ordering. - Conventional commits → Changesets: a commit like
feat(runes): add stats toolis turned into a changeset automatically by.changeset/generate-from-commits.ts, which drives the version bump and changelog on release..changeset/*.mdfiles are never hand-authored. - Biome, configured once in
@runecraft/grimoireand inherited by every other package, enforces one lint/format standard monorepo-wide.
How to use
Working in this monorepo:
bun install
bun run build
Common commands:
bunx turbo lint
bunx turbo test
bunx turbo build
Using one artifact in your own project — you don't need this repo at all, just install the package:
npx @runecraft/summon install # browse and install skills
Each package's own README (guild, runes, spells, summon, spawn) has the full install and usage instructions for that artifact specifically.
Contributing
See CONTRIBUTING.md for the changeset-free commit workflow (changesets are generated from conventional commits, not written by hand) and the automated release pipeline. Architecture notes live under .specs/.