Skip to main content

insforge

Use this skill when writing app code with InsForge or @insforge/sdk: database CRUD, auth, storage uploads/storage RLS, functions, OpenRouter AI, realtime, emails, Stripe or Razorpay payments, or pointing S3-compatible tooling (aws CLI, AWS SDKs, rclone, Terraform, boto3) at InsForge Storage. Trigger on requests like add auth, fetch data, upload files, make a bucket public, add checkout, sell subscriptions, or send email. For infrastructure, SQL migrations, CLI commands, or payment provider setup, use insforge-cli instead.

インストールへ移動

ソース情報

リポジトリ
InsForge/insforge-skills
ソースの最終更新活動
2026年8月29日 01:15
検出された SKILL.md の言語
英語
スター
36
フォーク
12

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
20 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
insforge
description
Use this skill when writing app code with InsForge or @insforge/sdk: database CRUD, auth, storage uploads/storage RLS, functions, OpenRouter AI, realtime, emails, Stripe or Razorpay payments, or pointing S3-compatible tooling (aws CLI, AWS SDKs, rclone, Terraform, boto3) at InsForge Storage. Trigger on requests like add auth, fetch data, upload files, make a bucket public, add checkout, sell subscriptions, or send email. For infrastructure, SQL migrations, CLI commands, or payment provider setup, use insforge-cli instead.
license
Apache-2.0
# InsForge App Integration Skill This skill covers **client-side SDK integration** using `@insforge/sdk`. For backend infrastructure operations (creating tables, inspecting schema, deploying functions, secrets, managing storage buckets, configuring payment provider keys/catalog, website deployments, cron job and schedules, logs, etc.), use the **insforge-cli** skill. ## Quick Setup ### 1. Install the SDK ```bash npm install @insforge/sdk@latest ``` ### 2. Set up environment variables Before using the SDK, create a `.env` file (or `.env.local` for Next.js) in your project root with your InsForge URL and anon key. #### How to get your URL and anon key 1. **Ensure the project is linked.** Check for `.insforge/project.json` in the project root. - Generate it with `npx -y @insforge/cli link` for an existing project or `npx -y @insforge/cli create` for a new project. 2. **Get the anon key** via the CLI: ```bash npx -y @insforge/cli secrets get ANON_KEY ``` 3. **Get the URL** from the `oss_host` field in `.insforge/project.json` (e.g., `https://myapp.us-east.insforge.app`). 4. **Write both values** to the `.env` file using the correct framework prefix (see table below). > **Important:** Use the anon key for user-scoped SDK clients, including SSR. For privileged server-only app code that needs admin/service access, use `createAdminClient({ apiKey })`; the API key is a full-access admin key, equivalent to a service role key on other platforms. Use the correct environment variable prefix and access pattern for your framework: | Framework | `.env` file | Variables | Access Pattern | | ----------------------------- | ------------ | ----------------------------------------------------------- | ------------------------------------------- | | **Next.js** | `.env.local` | `NEXT_PUBLIC_INSFORGE_URL`, `NEXT_PUBLIC_INSFORGE_ANON_KEY` | `process.env.NEXT_PUBLIC_*` | | **Vite** (React, Vue, Svelte) | `.env` | `VITE_INSFORGE_URL`, `VITE_INSFORGE_ANON_KEY` | `import.meta.env.VITE_*` | | **Astro** | `.env` | `PUBLIC_INSFORGE_URL`, `PUBLIC_INSFORGE_ANON_KEY` | `import.meta.env.PUBLIC_*` | | **SvelteKit** | `.env` | `PUBLIC_INSFORGE_URL`, `PUBLIC_INSFORGE_ANON_KEY` | `import { env } from '$env/dynamic/public'` | | **Create React App** | `.env` | `REACT_APP_INSFORGE_URL`, `REACT_APP_INSFORGE_ANON_KEY` | `process.env.REACT_APP_*` | | **Node.js / Server** | `.env` | `INSFORGE_URL`, `INSFORGE_ANON_KEY` | `process.env.*` | Example `.env.local` for Next.js: ```bash NEXT_PUBLIC_INSFORGE_URL=https://your-appkey.us-east.insforge.app NEXT_PUBLIC_INSFORGE_ANON_KEY=eyJhbGciOiJIUzI1NiIs... ``` > **Important:** Keep `.env` files local. Add `.env`, `.env.local`, and `.env*.local` to your `.gitignore` and keep `.env.example` for documenting required variables. ### 3. Initialize the client Next.js: ```javascript import { createClient } from '@insforge/sdk' const insforge = createClient({ baseUrl: process.env.NEXT_PUBLIC_INSFORGE_URL, anonKey: process.env.NEXT_PUBLIC_INSFORGE_ANON_KEY }) ``` Vite: ```javascript import { createClient } from '@insforge/sdk' const insforge = createClient({ baseUrl: import.meta.env.VITE_INSFORGE_URL, anonKey: import.meta.env.VITE_INSFORGE_ANON_KEY }) ``` Astro: ```javascript import { createClient } from '@insforge/sdk' const insforge = createClient({ baseUrl: import.meta.env.PUBLIC_INSFORGE_URL, anonKey: import.meta.env.PUBLIC_INSFORGE_ANON_KEY }) ``` For trusted server-only code that needs project-admin access: ```javascript import { createAdminClient } from "@insforge/sdk"; const admin = createAdminClient({ baseUrl: process.env.INSFORGE_URL, apiKey: process.env.INSFORGE_API_KEY, }); ``` ## Module Reference | Module | Integration Guide | | ------------- | ------------------------------------------------------------ | | **Database** | [database/sdk-integration.md](database/sdk-integration.md) | | **Auth** | [auth/sdk-integration.md](auth/sdk-integration.md) | | **Storage** | [storage/sdk-integration.md](storage/sdk-integration.md) | | **Functions** | [functions/sdk-integration.md](functions/sdk-integration.md) | | **AI** | [ai/overview.md](ai/overview.md) | | **Real-time** | [realtime/sdk-integration.md](realtime/sdk-integration.md) | | **Email** | [email/sdk-integration.md](email/sdk-integration.md) | | **Payments: Stripe** | [payments/stripe.md](payments/stripe.md) | | **Payments: Razorpay** | [payments/razorpay.md](payments/razorpay.md) | ### What Each Module Covers | Module | Content | | ------------- | ------------------------------------------------------------------------------------------------------------- | | **Database** | CRUD operations, filters, pagination, RPC calls | | **Auth** | Sign up/in, OAuth, sessions, profiles, password reset | | **Storage** | Upload, download, delete files; S3-compatible gateway for CI / backup tooling; write RLS policies for buckets | | **Functions** | Invoke edge functions | | **AI** | OpenRouter AI calls for chat, images, video, audio, embeddings, and model discovery | | **Email** | Send custom transactional HTML emails (welcome, newsletter, notifications) | | **Payments: Stripe** | Stripe Checkout Sessions, subscriptions, and Billing Portal redirects | | **Payments: Razorpay** | Razorpay Orders, Subscriptions, Checkout.js, and subscription management | | **Real-time** | Connect, subscribe, publish events, and track presence snapshots plus join/leave deltas | ### Guides | Guide | When to Use | | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [../insforge-cli/references/database/access-control.md](../insforge-cli/references/database/access-control.md) | Backend setup for application-table access control — covers RLS, infinite recursion prevention, `SECURITY DEFINER` patterns, performance tips, and common InsForge patterns | | [storage/s3-gateway.md](storage/s3-gateway.md) | Fallback path when the consumer is existing S3 tooling (aws CLI, AWS SDKs, rclone, Terraform, boto3) and adopting `@insforge/sdk` is impractical — covers endpoint/region setup, access-key management, path-style addressing, and supported vs. not-supported S3 operations. **Requires InsForge 2.0.9+.** **Prefer the SDK** ([storage/sdk-integration.md](storage/sdk-integration.md)) for app code | | [storage/postgres-rls.md](storage/postgres-rls.md) | Writing RLS policies for `storage.objects` — owner-only, public-read, path-scoped, team-shared, and the `NULL uploaded_by` caveat for mixed REST + S3 buckets | | [../insforge-cli/references/database/vector.md](../insforge-cli/references/database/vector.md) | Backend setup for semantic search, recommendations, or RAG — covers the `vector` extension, schema/dimensions, distance operators, HNSW/IVFFlat indexes, and RPC similarity search | | [ai/chat-completions.md](ai/chat-completions.md) | Text generation, structured answers, and streaming chat through OpenRouter | | [ai/image-generation.md](ai/image-generation.md) | Image generation/editing through OpenRouter, then durable storage in InsForge Storage |
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る