Resolves valid findings from the PR reviewers (jwfing, Cubic, CodeRabbit):
- marketplace.json: remove `version` from the plugin entry. Per the
official docs, setting `version` in both plugin.json and the marketplace
entry is an anti-pattern — plugin.json always wins silently, so a stale
marketplace version can mask the real one. plugin.json is now the single
source of truth.
- marketplace.json: drop duplicated author/homepage/license/keywords. With
`source: "./"` and strict mode (default), plugin.json is the authority for
plugin definition; duplicating these fields only adds drift risk. Trimmed
to name + source + catalog description.
- marketplace.json: remove top-level `metadata.version` — it's the catalog
version namespace, optional; omitting lets each git commit count as a new
marketplace version (simpler for a frequently-updated skills repo).
- README: the integrations intro implied every entry is a JWT/auth flow;
clarify that OKX x402 is a payment facilitator, not an auth provider.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The docs site is the most useful "learn more" target for someone
evaluating the plugin in the directory, vs the marketing homepage.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Prep for submission to the Claude community plugin directory:
- License: LICENSE is Apache 2.0 but all manifests declared MIT. Align
every declaration to Apache-2.0 (plugin.json, marketplace.json, the
four SKILL.md frontmatters, README, CONTRIBUTING, AGENTS).
- README integrations summary: add Better Auth and OKX x402 (both shipped
but previously undocumented).
- README structure tree: rewrite insforge-cli / insforge-debug /
insforge-integrations subtrees to match the real flat references/*.md
layout instead of the stale per-provider SKILL.md dirs.
- marketplace.json metadata version 1.0.0 -> 1.2.0 to match the plugin.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds .claude-plugin/marketplace.json so the repo can be added as a
Claude Code plugin marketplace via `/plugin marketplace add
InsForge/insforge-skills` and installed with `/plugin install insforge`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Correct the `--json` description for `billing upgrade`/`manage`: it prints a
JSON object ({ checkoutUrl, sessionId } / { portalUrl }) and suppresses the
browser open — not a bare URL string.
- Add the headless/CI `--json` note to `billing manage` (it was only on upgrade).
- List the full plan enum (free | starter | pro | team | enterprise) to match
the CLI help.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds usage docs for the commands shipped in InsForge/CLI#176:
- billing: history, cycles, upgrade <plan> (Stripe checkout, opens browser),
manage (Stripe customer portal). Reframes the section from "read-only" since
the CLI now performs checkout, and drops the "go to the dashboard" note.
- projects transfer <targetOrgId> (requires explicit --project; guarded).
- Routing-table rows updated; skill version 1.7.0 -> 1.8.0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Routing table: drop the non-existent "pause" from the project-lifecycle row
(only `restore` ships), and list all six backups operations instead of three.
- projects delete: stop advising `-y`; emphasize it's a guarded, human-in-the-
loop op and the target id must be confirmed.
- backups create: clarify `--name` is optional (1–64 chars when provided).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds usage instructions for the new CLI commands shipped in InsForge/CLI#175:
projects lifecycle (get/update/restore/update-version/upgrade-instance/delete),
billing status/credits, org usage, orgs + members management, project backups,
secrets rotate, and storage s3-keys.
- New routing-table rows and dedicated sections (Organizations and Members,
Billing and Usage, Backups).
- Notes the org-resolution order, the latest-only semantics of update-version,
the xl instance ceiling, and the show-once nature of rotated keys / S3 secrets.
- Bumps skill version 1.6.0 -> 1.7.0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolves review feedback: SKILL.md recommended client.setAccessToken()
while clerk.md still taught client.getHttpClient().setAuthToken().
setAccessToken (SDK >= 1.3.0) is the better pattern — it updates the
HTTP client and the realtime TokenManager together; the HTTP-client-only
path silently breaks realtime auth (see better-auth.md mistake table).
This PR already requires a newer SDK release, so no version risk.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The SDK is renaming the edgeFunctionToken config field to accessToken
(edgeFunctionToken stays as a deprecated alias). Update all guides to
use the new name, keeping one alias mention per file so agents still
recognize the old name in existing codebases.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Extract insforge_subject_type alongside the id and branch on it before
granting entitlements, so multi-subject apps cannot grant against the
wrong table or hit a bad UUID cast.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stripe: COALESCE parent.subscription_details.metadata with invoice.metadata
(the backend's own order) and note the UUID cast assumption. Razorpay:
add a payload-first subscription.charged fulfillment example via notes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stripe delivers checkout.session.completed and invoice.paid in no
guaranteed order, so payments.customer_mappings may not exist yet when a
fulfillment trigger fires on invoice.paid. Teach triggers to resolve the
billing subject from the event payload (insforge_subject_* metadata)
first and use customer_mappings only as a fallback, and never skip
fulfillment silently.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- createOrder takes notes (not metadata) per @insforge/sdk CreateRazorpayOrderBody
- warn against UUIDs in receipt (Razorpay 40-char limit); keep app IDs in notes
- clarify that webhook URL/secret are copied from the InsForge dashboard and
the webhook itself is created in the Razorpay Dashboard
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The CLI's `deployments deploy` now honors a .vercelignore file in the
deploy source directory (InsForge/CLI#163). Document the syntax and
the interaction with built-in excludes so agents can guide users to it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>