feat(plugin): ready the Claude Code plugin for directory submission (#1245)

The plugin has been installable from erp-mafia/accounted since #1088, but
three things would fail review at the Claude plugin directory:

- `homepage` pointed at https://app.gnubok.se/docs/api/connect-claude, which
  404s. next.config.ts redirects /docs/api/* to the separate docs.gnubok.se
  repo, where that page was never ported, so app/docs/api/connect-claude is
  unreachable dead code. Point homepage at the plugin README instead.
- `license: MIT` was a bare claim with no artifact next to it. Add the MIT
  text and make the README explicit that the plugin is MIT while the platform
  it connects to is a separate AGPL-3.0 work.
- Version stayed at 0.1.0 for a plugin that has been live and working.

Also give /accounted:start a path for a user who installs from the directory
with no Accounted account: previously it only handled a not-yet-authenticated
MCP server, and a cold user would hit OAuth with nowhere to go.

Both manifests pass `claude plugin validate`, the same check the review
pipeline runs on every submission.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-07-27 19:18:28 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent 69c537fd1f
commit 4dfdb35e13
5 changed files with 27 additions and 3 deletions
+2 -2
View File
@@ -2,11 +2,11 @@
"name": "accounted",
"displayName": "Accounted",
"description": "Official Accounted plugin: Swedish double-entry bookkeeping flows for Claude. Connects your ledger over MCP and ships short workflow skills (daily bookkeeping, health check, month close, VAT, payroll, year-end) that work from the company's live data and load Swedish accounting knowledge from the product when needed. Every write is staged for your approval; nothing is booked on its own.",
"version": "0.1.0",
"version": "1.0.0",
"author": {
"name": "Accounted (erp-mafia)"
},
"homepage": "https://app.gnubok.se/docs/api/connect-claude",
"homepage": "https://github.com/erp-mafia/accounted/blob/main/claude-plugin/README.md",
"repository": "https://github.com/erp-mafia/accounted",
"license": "MIT",
"keywords": [
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025-2026 Jakob Wennberg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -42,4 +42,4 @@ This plugin is not legal, tax, or audit advice. Output is underlag for you and y
## License
MIT (the plugin). The Accounted platform itself is AGPL-3.0.
The plugin in this directory is MIT licensed; see [LICENSE](./LICENSE). The Accounted platform it connects to is a separate work, licensed AGPL-3.0 under the [LICENSE](../LICENSE) at the repository root.
+1
View File
@@ -11,6 +11,7 @@ Verify the connection, learn who this company is, and surface what needs attenti
1. Call `accounted_get_agent_briefing`. This is the single source for company facts: entity type (aktiebolag or enskild firma), accounting method (faktureringsmetoden or kontantmetoden), VAT period, employees, and ledger context. Never assume these; the flows below behave differently depending on them.
- If the call fails with an auth error, the MCP server is not connected yet: tell the user to run `/mcp` and authenticate with Accounted (OAuth consent screen; read-only scopes by default, write scopes are ticked explicitly). Self-hosted users: see the plugin README.
- If the user has no Accounted account at all, say so plainly and point them at https://app.accounted.se to create one. The plugin drives an existing ledger; it cannot bookkeep without one. Do not attempt any other flow until a company is connected.
2. Read `Accounted://attention` and `Accounted://period/active`.
3. Present a short orientation in the user's language: company name and form, active fiscal period and its lock status, and the top 3 items needing attention.
4. Point at the flows, matched to what attention showed: