feat: stage 0, an empty RunicNPC that releases through CI #1
Reference in New Issue
Block a user
No description provided.
Delete Branch "chore/stage-0-scaffold"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
This is stage 0 of
docs/runicnpc/PLAN.md§9: the repository RunicNPC will be built in.Done when: an empty plugin releases through CI and loads on both rigs. This PR is the first half. The
edge→maincutover after it cuts v0.1.0.plugin/RunicNPC.cscontains only:// Requires: Kits(D217);[Info("RunicNPC", "Runic Gateway", "0.0.0")], with a placeholder version the release replaces;RunicNpc_ApiVersion()returning API 1;rnpc.status, which reports the version, the API version and which hooks have fired.It spawns nothing.
plugin.tomldeclares:api = 1;requires_plugins = ["Kits"].scripts/checkPlugin.jsis adapted from Rust-Plugins' checker. It enforces:ExpectedHooks, and returns nothing unless it's inANSWERS_DELIBERATELYwith a reason;RunicNpc_*call is public without[HookMethod], becauseCallcan't reach it. That's the HumanNPC trap (§1.2);ApiVersion,// Requires:and the single[Info]line agree withplugin.toml.23 self-tests, including parsing the real plugin and reading a CRLF checkout.
Workflows.
mainandedge.release.ymlreuses Rust-Plugins' release steps unchanged; only the CI git username differs.runicnpc-<ver>.tar.gz(runicnpc/RunicNPC.cs+manifest.json, which carriesapi, notprotocol) andSHA256SUMS.tools/holds the rig panel scripts. The panel address and server IDs are now in a git-ignoredtools/rigs.json, withrigs.example.jsoncommitted.Docs: README, CONTRIBUTING (the
edgeflow, AI disclosure, borrow-not-copy), SECURITY (a scope row for RunicNPC), the code of conduct, and the issue and PR templates.Decided with the org lead today:
chore:commit tomain, thenedge, and everything else goes by PR;plugin/+plugin.toml.One rename from the plan:
tools/con.js→tools/console.js.CONis a reserved device name on Windows, so git there cannot open the file. It failedgit addon the dev machine.How it was tested
node scripts/checkPlugin.js→plugin ok — API 1, 1 API call(s), 1 hook(s) declared, requires Kits.node --test scripts/checkPlugin.test.js→ 23/23 pass. The CRLF case was confirmed to fail before the fix.release.yml,pr-checks.ymland the issue config parse as YAML. The version-stampsedand theplugin.tomlreads were dry-run locally ([Info("RunicNPC", "Runic Gateway", "0.1.0")],api=1,["Kits"]).oxide.plugins.Loaded plugin RunicNPC v0.0.0 by Runic Gateway [217ms].rnpc.statusanswersRunicNPC 0.0.0 api=1 hooks=1 fired=1 silent=0.main, and the released tarball then replaces these copies on both rigs.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with aCo-Authored-By/Assisted-Bytrailer.License
By submitting this PR I agree my contribution is licensed under GPL-3.0-or-later.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY