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에서 보기