6e88d849e7c0cc1ce393f0ecb7f6a83d59f15e68
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.
Finances
Money, on your own machine.
This is a skeleton. The repository, the mount prefix (/finances, /api/finances) and the permission
key (finances) are real and settled. What the plugin actually does is not written yet — the two panels
render a placeholder and the one route answers GET /api/finances/ping.
Published in this state on purpose: the identity of a plugin is the part that is expensive to change later, and the feature is the part that is cheap to add.
What it ships
| Part | Present | Note |
|---|---|---|
manifest.ts |
yes | identity, one permission |
api/router.ts |
yes | one route, mounted at /api/finances |
web/ |
yes | two placeholder panels and a layout |
db/schema.ts |
no | no tables until the data model is settled |
sidecar/ |
no | nothing long-lived yet |
assets/icon.png |
no | the dock falls back to the manifest's lucide Wallet |
Installing
It is on disk and not installed until you install it from /plugins. Being in the tree makes it appear
on that page; it mounts nothing until then.
Further reading
plugins/example in the platform repo is the reference plugin and documents every convention this one
follows.
Languages
TypeScript
100%