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
+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: