the finances skeleton — repo, prefix and permission key, before any feature

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.
This commit is contained in:
2026-08-27 17:28:00 +01:00
commit 6e88d849e7
10 changed files with 222 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# 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.