Published empty on purpose: identity is the expensive part to change later, the feature is the cheap part to add. One route, two placeholder panels, no tables and no sidecar.
1.6 KiB
AGENTS.md
Guidance for a coding agent working on this plugin's own repository. CLAUDE.md beside it only
points here — the two harnesses discover different filenames and one set of instructions has to reach
both.
This is not what the plugin is. README.md answers that. This file answers "I have to change
something in here — what will I break?"
Where you are
A plugin repository, cloned into ~/officer-dev/plugins/finances, its own git remote. It is not part
of the platform's repository, and platform/plugins/finances is a different thing — that is where this
plugin gets INSTALLED, by the installer cloning it from gitea. Never edit there; the next install
overwrites it.
What must not change without knowing why
- Permission key
finances— stored as the subject of every grant. Renaming it is a data change. - Panel keys (
finances-overview,finances-detail) — a user's stored layout names them. appName— the directory name IS the id: route segment, table prefix, sidecar suffix, install key.
Adding tables
There are none yet. When there are, db/schema.ts, every table name prefixed finances_, and
bun db:push from the platform repo. Uninstall never drops a table; deleting this directory and running
db:push does.
Verifying
From the platform repo, which is where the toolchain lives:
bunx tsgo
bun run plugins:check
bunx prettier --write <the files you touched>
A change in api/ or web/ needs pm2 restart officer. A manifest change needs it too — manifests are
read once per server process.