cc-libs/ATM_EXPERT_AGENT_PLAN.md

110 lines
2.6 KiB
Markdown

# ATM Expert Agent Plan
## Goal
Replace `.opencode/agent/computercraft.md` with `atm10-expert`.
The agent targets ATM10 / All The Mods 10, Minecraft `1.21.1`, NeoForge, pack version `7.0` (`0.7.0` accepted as user alias).
## Known Facts
CurseForge project id: `925200`.
ATM10 `7.0` file id: `8091114`.
Server pack file id: `8094893`.
NeoForge version: `21.1.228`.
GitHub source: <https://github.com/AllTheMods/ATM-10>
## Files To Create
Create `.opencode/agent/atm10-expert.md`.
Create `.opencode/agent-context/atm10-expert/INDEX.md`.
Create `.opencode/agent-context/atm10-expert/glossaries/`.
Create `.opencode/agent-context/atm10-expert/scripts/`.
Create `.opencode/agent-context/atm10-expert/modpacks/atm10-7.0.md`.
## Files To Move
Move in-game glossaries only:
`docs/cc_glossary.md` to agent context.
`docs/create_cc_tweaked_glossary.md` to agent context.
`docs/advanced_peripherals_glossary.md` to agent context.
Keep `docs/craftos_pc_glossary.md` in `docs/`.
Update `docs/README.md` links.
## Agent Behavior
Delete old `computercraft` agent.
New agent answers players concisely for in-game terminals.
Use local glossaries first, then websearch/webfetch.
Default to non-technical answers.
Adapt language to the user, usually French.
If a new useful mod documentation source is found, update or create a glossary and update `INDEX.md`.
Keep replies short unless the user asks for detail.
Use MCP bridge carefully: probe first, execute only bounded/read-only Lua unless explicitly asked.
## Permissions
Allow local read/search and web lookup.
Keep MCP bridge `probe-computers` and `exec-lua`.
Make edit/bash approval-gated or tightly limited, because this agent is player-facing.
Allow `just check` for markdown validation.
## ATM10 Mod List Script
Add `.opencode/agent-context/atm10-expert/scripts/fetch-atm10-7.0-mods.sh`.
Script should download CurseForge file `8091114`.
Extract `manifest.json`.
Write raw project/file ids and best available names to `modpacks/atm10-7.0.md`.
If `CURSEFORGE_API_KEY` exists, resolve project names through the CurseForge API.
Without API key, preserve ids and URLs for later glossary enrichment.
## TrapOS AI Context
Update `programs/ai.lua` / `apis/libai.lua` so each prompt includes hidden caller context:
computer id.
computer label, if any.
This helps `atm10-expert` know which in-game computer is calling.
Add tests in `tests/ai.lua`.
Bump `packages/trapos-ai/ccpm.json` and `packages/index.json`.
## Verification
Run `just check`.
Fix Lua lint and markdown link issues.
Restart opencode after agent/config changes.