Commit Graph

377 Commits

Author SHA1 Message Date
CarmenDou 2015f16a85 docs(insforge-cli): note that a rollback rehearsal exits non-zero
The rehearsal pattern rolls back by raising, so the command always exits
1 and writes to stderr on both the pass and the fail path. The previous
wording ("once the rehearsal output looks correct") read as if success
were normal output, which invites treating the expected non-zero exit as
a failure and retrying.

Add a callout plus a table mapping the two stderr messages to their
meaning, note the --json shape, and key the apply step off the
"rehearsal ok:" message instead of "output looks correct".
2026-07-29 18:43:09 -07:00
agent-zhang-beihai[bot] 9de05bc319 docs(insforge-cli): document db query transaction-control restriction and rollback rehearsal pattern
db query rejects BEGIN/COMMIT/ROLLBACK/SAVEPOINT with 'Transaction control
statements are not allowed.' but the query reference never mentioned it,
leaving no supported path for a guarded dry-run/restore rehearsal.

Add a Restrictions section to references/database/query.md that documents
the rejection (mirroring the migrations.md wording) and a single-statement
DO $$ ... $$ rehearsal example that mutates, validates, and ends with
RAISE EXCEPTION so PostgreSQL rolls the statement back.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 14:14:03 -07:00
Lyu 34db7500a6 Merge pull request #119 from InsForge/feat/agent-feedback-command
docs: route agents to the new insforge feedback command
2026-07-23 15:34:08 -07:00
Lyu c5f4957cbb docs: address review nits on feedback routing
- Move --language under Optional flags with an explicit bold note that
  it is required when --component sdk (it was listed under Required,
  contradicting its own conditional qualifier).
- Write '--component skills' in full in the debug skill so the flag
  binding is unambiguous.
- Generalize the insforge skill's example to show the type/component
  enums instead of a fixed 'bug/sdk' classification agents would copy
  verbatim for every situation.
- Narrow the redaction claim to the actual pattern coverage (public
  IPv4, home-directory usernames — not all IPs/usernames) in both
  skills that state it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 15:22:02 -07:00
Lyu 8c3166d976 docs: route agents to the new insforge feedback command
Companion to InsForge/CLI#206, which adds `insforge feedback` for
reporting InsForge-side hurdles (bug | feature-request | friction,
classified by toolkit component). Three skills now route agents to it:

- insforge-cli: core-rule reflex ("hit an InsForge-side hurdle → file
  feedback → continue with a workaround"), routing-table row, and a
  Feedback section with the situation→type mapping and full flag
  reference.
- insforge (app/SDK): Important Notes bullet — SDK/backend/docs
  misbehaving during app work → file with --component sdk --language,
  never for the user's own app code.
- insforge-debug: "When the Root Cause Is InsForge Itself" section —
  file while diagnostic evidence (failing command, log output,
  workaround) is in hand; never block the user's task on the report.

Merge order: publish the CLI release first, then merge this — skills
install from this repo's default branch at runtime, so merging first
would document a command agents don't have yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:58:22 -07:00
Tony Chang d7521d2af5 Merge pull request #118 from InsForge/docs/login-no-browser
docs(cli): device login (--device) for sandboxed agents
2026-07-16 22:55:28 +08:00
yaowenc2 34906f97de docs(cli): connection setup comes before app code
Live ChatGPT session scaffolded an app with placeholder credentials
instead of logging in and creating a project first. Make the order
explicit: login -> create/link -> build with real values.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GcszudKMZBSm5RMP14h7fu
2026-07-16 22:44:59 +08:00
yaowenc2 b170f9e24e docs(cli): two-step device login for agent harnesses; bump plugin to 1.3.0
Live ChatGPT-app testing revealed two gaps:
- Harnesses that only return output on process exit (and kill at ~45s)
  never show a single blocking `login --device` run's link. Teach the
  two-step pattern: timeout-bounded first run to capture the link,
  relay, rerun to resume the same pending code and complete.
- Workspaces with a network-domain allowlist need api.insforge.dev
  added; teach agents to relay that instruction.

Also addresses review comments: --json on the SKILL.md inline command,
'hangs forever' -> waits until callback timeout, language tag on the
output fence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GcszudKMZBSm5RMP14h7fu
2026-07-16 22:43:50 +08:00
yaowenc2 dd9a058da9 docs(cli): teach agents device login (--device) for sandboxes
Replaces the paste-back (--no-browser/--callback-url) guidance per
Tony's call — device flow only: agent runs `login --device`, relays
the pre-filled link + code, user clicks Authorize, CLI polls to
completion; rerun resumes the same pending code after sandbox timeouts.

Retrieval-tested: an agent given only this doc chose the right command,
relayed the link, handled the killed-process resume, and knew no
paste-back is needed.

Companion to InsForge/CLI#199 + insforge-cloud-backend#733; requires
the CLI release that ships --device.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GcszudKMZBSm5RMP14h7fu
2026-07-16 21:31:44 +08:00
yaowenc2 9339fb66d1 docs(cli): document two-step sandbox login (--no-browser / --callback-url)
Companion to InsForge/CLI#198. In sandboxes like the ChatGPT app the
browser cannot reach the CLI's loopback callback, so browser login hangs;
the new two-step flow prints the auth URL, the user pastes back the
redirect URL, and the CLI redeems it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GcszudKMZBSm5RMP14h7fu
2026-07-16 16:44:49 +08:00
Tony Chang 3847fe7d29 Merge pull request #117 from InsForge/codex/skill-interface-openai-yaml
fix(skills): move interface settings to agents/openai.yaml for plugin submission
2026-07-16 09:26:32 +08:00
yaowenc2 8c72c09c49 fix(skills): use $skill-name syntax in default_prompt per skill-creator spec
Codex's bundled skill-creator spec (references/openai_yaml.md) requires
default_prompt to reference the skill explicitly as $skill-name. Also
document the interface field set and constraints in CONTRIBUTING.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QT8v1kqCZYreDZwy6wfzJH
2026-07-16 09:21:45 +08:00
yaowenc2 a09d16dffb fix(skills): keep short_description within 25-64 char spec limit, add default_prompt
Addresses John-bot re-review on #117: interface.short_description is
constrained to 25-64 chars by the Codex skill-interface spec; all four
were 94-134 chars. Also adds the recommended per-skill default_prompt,
mirroring defaultPrompt in .codex-plugin/plugin.json.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QT8v1kqCZYreDZwy6wfzJH
2026-07-16 09:10:34 +08:00
yaowenc2 e3b67e3b1e docs: drop metadata frontmatter example, point interface settings at agents/openai.yaml
Addresses John-bot review suggestion on #117: CONTRIBUTING.md and
AGENTS.md still showed the metadata block the submission portal rejects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QT8v1kqCZYreDZwy6wfzJH
2026-07-16 09:01:23 +08:00
yaowenc2 871d2e2a90 fix(skills): move interface settings to agents/openai.yaml for plugin submission
OpenAI's plugin submission portal rejects SKILL.md files with a metadata
frontmatter block ('metadata does not configure the skill interface').
Drop the informational metadata blocks and add per-skill
agents/openai.yaml with the supported interface fields.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QT8v1kqCZYreDZwy6wfzJH
2026-07-16 08:47:18 +08:00
Lyu b59f809199 Merge pull request #116 from InsForge/codex/auth-refresh-event-docs
docs(auth): document token refresh event semantics
2026-07-14 10:58:49 -07:00
Lyu 9a781c7210 docs(auth): fix user-switch token window and clerk version note
Address PR review feedback on the token-refresh examples:

- Clerk and Better Auth hooks now drop the previous user's token and set
  isReady=false when the signed-in user changes (A -> B) before the async
  token fetch, so no request goes out authenticated as the old user while
  the new token is in flight.
- clerk.md: add an SDK version note (two-arg setAccessToken / AuthChangeEvent
  require >= 1.4.4; 1.3.x drops the second arg; < 1.3.0 uses the legacy
  fallback), matching better-auth.md.
- clerk.md: align the summary bullet with the two-arg setAccessToken form.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:50:11 -07:00
Lyu e291e91c6e docs(auth): document token refresh event semantics 2026-07-10 23:56:21 -07:00
Lyu 22577993f3 Merge pull request #114 from InsForge/docs/cli-login-user-api-key
docs(cli): document user-API-key login (headless/agent/CI)
2026-07-06 16:37:26 -07:00
Lyu fd2ad2428f docs(cli): match existing terse credential style, drop verbose warning
Per review: remove the standalone ⚠️ warning block; the $INSFORGE_USER_API_KEY
var form already mirrors the existing $EMAIL/$PASSWORD CI convention, which
carries no per-command security note. Keeps the login doc consistent in tone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:31:49 -07:00
Lyu a2431aa5ac docs(cli): pass user API key via secret-store env var, not inline
Review (jwfing + greptile): the recommended headless/agent/CI invocation
put the raw uak_ inline, which leaks a full-access credential into shell
history, ps/proc, and CI logs. Show it sourced from a secret-store shell
variable ("$INSFORGE_USER_API_KEY") instead, with an explicit caution.

Note: this is a user-set shell variable, not a CLI-read env var — the CLI's
login reads only the --user-api-key flag (verified), so we don't claim
native env support.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:21:54 -07:00
Lyu 15ebc67b80 docs(cli): document user-API-key login for headless/agent/CI auth
The CLI now supports `login --user-api-key uak_...` — direct bearer auth with
no browser and no token exchange (the recommended non-interactive path for
agents/CI). Update the login reference (options, methods, credential storage,
examples) and the Connection Setup guidance to cover it.

Also correct the credential-storage note: a user-API-key session stores
`user_api_key`, not `access_token`/`refresh_token`, and isn't refreshed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 16:16:23 -07:00
Lyu 26b6f8cb9c Merge pull request #112 from InsForge/docs/sdk-custom-schema-selection
docs(sdk): teach custom schema selection in the database skill
2026-06-28 10:00:46 -07:00
Lyu 60c2d7b4ec docs(sdk): refine schema section per PR #112 review
- Examples now destructure { data, error } and use concrete columns (not
  select('*')), matching the file's own Important Notes conventions.
- Add a write-path (.insert) example; use env-var placeholders like Setup.
- State public is the default explicitly; note custom schemas are auto-exposed
  on v2.2.3+ backends but require explicit GRANTs (exposure != access).
- Add that InsForge-internal schemas (auth/storage/system/payments/...) are
  never exposed and must not be targeted; accurate PGRST106 message.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 17:12:30 -07:00
Carmen Dou 87f0cc92b8 Merge pull request #111 from InsForge/feat/apify-datasource-skill
refactor: rename Apify data source to web scraper
2026-06-27 16:49:14 -07:00
Lyu 64937bfec1 docs(sdk): teach custom schema selection in the database skill
Adds a "Selecting a Schema" section covering client.database.schema('x'),
the createClient db:{schema} default, and the access model (schema is
routable but grants + RLS still gate access; old backends return PGRST106).
Pairs with the SDK .schema() support and v2.2.3 backend custom-schema exposure.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 14:59:11 -07:00
CarmenDou efde259f87 refactor: rename Apify data source to web scraper (skill dir, routing, command, API path) 2026-06-26 20:59:17 -07:00
Tony Chang 163b745102 Add agent memory usage guidance to insforge-cli skill (#97)
Teach agents the memory workflow: run `memory list` at the start of
non-trivial tasks (Core Rules reflex), recall relevant titles before
designing or debugging, and record decisions/gotchas with
`memory remember` at the moment they happen.

- Core Rules bullet making recall a start-of-task reflex
- Command Routing row + terse `## Memory` section
- New references/memory.md: commands, workflow, kinds taxonomy,
  store/don't-store guidance, idempotency/scope/empty-recall notes
- Frontmatter description mentions agent memory; version 1.6.0 -> 1.7.0

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-26 15:18:07 -07:00
Carmen Dou 9b0382f827 Merge pull request #110 from InsForge/feat/apify-datasource-skill
feat: add Apify data source playbook and routing to insforge-cli skill
2026-06-25 21:50:32 -07:00
CarmenDou eaea47e22d fix: address PR #110 review (CLI install wording, edge-fn vs compute env injection, admin-key naming) 2026-06-25 20:45:44 -07:00
CarmenDou 9dc5f88b05 feat: add Apify data source playbook and routing to insforge-cli skill 2026-06-25 20:22:02 -07:00
Lyu c40802259e Merge pull request #109 from InsForge/codex/plugin-marketplace-readiness
[codex] Add Codex plugin marketplace metadata
2026-06-25 13:44:36 -07:00
Lyu cc41474b81 Fix Codex plugin metadata review findings 2026-06-25 13:30:13 -07:00
Lyu 2e7c9c93b8 Add Codex plugin marketplace metadata 2026-06-25 12:42:11 -07:00
Lyu 683a08834a Merge pull request #108 from InsForge/claude/modest-torvalds-472429
feat(plugin): make repo installable + prep for community directory submission
2026-06-25 12:11:13 -07:00
Lyu 11e671eeec fix(plugin): address PR review — drop duplicated marketplace metadata, fix x402 wording
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>
2026-06-25 12:04:28 -07:00
Lyu 87e34754a7 chore(plugin): point homepage at docs.insforge.dev
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>
2026-06-25 11:53:17 -07:00
Lyu 908a6c05c6 fix: align license to Apache-2.0 and sync README with actual layout
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>
2026-06-25 11:44:44 -07:00
Lyu bcac075161 feat(plugin): add marketplace.json to make repo installable
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>
2026-06-25 11:33:37 -07:00
Lyu d202e16eb7 Merge pull request #107 from InsForge/feat/cli-billing-checkout-project-transfer
docs(insforge-cli): billing checkout/management + project transfer
2026-06-24 12:55:24 -07:00
Lyu 1cf014f1a3 docs(insforge-cli): clarify billing --json output and manage headless usage
- 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>
2026-06-24 12:31:16 -07:00
Lyu 3c95c2e4fd docs(insforge-cli): document billing checkout/management + project transfer
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>
2026-06-24 11:42:53 -07:00
Lyu 6af53f4519 Merge pull request #106 from InsForge/feat/cli-project-billing-org-backup-commands
docs(insforge-cli): document project, billing, org, backup & key commands
2026-06-24 09:55:39 -07:00
Lyu b0b467877d docs(insforge-cli): address PR review on the new command docs
- 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>
2026-06-23 18:10:23 -07:00
Lyu 16e2c89069 docs(insforge-cli): document project, billing, org, backup & key commands
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>
2026-06-23 14:14:37 -07:00
Lyu c8e4443742 Merge pull request #104 from InsForge/codex/rls-insert-select-guidance
docs: clarify RLS insert-select behavior
2026-06-17 18:13:24 -07:00
Lyu 79c062689d docs: clarify RLS insert-select behavior 2026-06-17 18:09:34 -07:00
Carmen Dou 8856392c34 Merge pull request #95 from InsForge/feat/posthog-setup-warning
chore: emphasize manual posthog wizard step
2026-06-16 14:34:11 -07:00
Lyu 5468468c39 Merge pull request #101 from InsForge/codex/cli-domains-skill
docs: add domain CLI skill guidance
2026-06-16 12:37:28 -07:00
Lyu 8adfeef43f docs: reorganize deployment domain skill references 2026-06-16 12:34:05 -07:00