Loading...
Loading...
Create and manage InsForge projects using the CLI. Handles authentication, project setup, database management, edge functions, storage, deployments, and secrets. For writing application code with the InsForge SDK, use the insforge (SDK) skill instead.
npx skill4agent add insforge/agent-skills insforge-cliinsforge whoami # verify authentication
insforge current # verify linked projectinsforge logininsforge createinsforge link| Flag | Description |
|---|---|
| Structured JSON output (for scripts and agents) |
| Override linked project ID |
| Skip confirmation prompts |
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Not authenticated |
| 3 | Project not linked |
| 4 | Resource not found |
| 5 | Permission denied |
| Variable | Description |
|---|---|
| Override stored access token |
| Override linked project ID |
| Email for non-interactive login |
| Password for non-interactive login |
insforge login--emailinsforge logoutinsforge whoamiinsforge createinsforge linkinsforge currentinsforge listinsforge dbinsforge db query <sql>insforge db tables / indexes / policies / triggers / functionsinsforge db rpc <fn> [--data <json>]insforge db exportinsforge db import <file>insforge functionsinsforge functions listinsforge functions code <slug>insforge functions deploy <slug>insforge functions invoke <slug> [--data <json>] [--method GET|POST]insforge storageinsforge storage bucketsinsforge storage create-bucket <name> [--private]insforge storage delete-bucket <name>insforge storage list-objects <bucket> [--prefix] [--search] [--limit] [--sort]insforge storage upload <file> --bucket <name> [--key <objectKey>]insforge storage download <objectKey> --bucket <name> [--output <path>]insforge deploymentsinsforge deployments deploy [dir]insforge deployments listinsforge deployments status <id> [--sync]insforge deployments cancel <id>insforge secretsinsforge secrets list [--all]--allinsforge secrets get <key>insforge secrets add <key> <value> [--reserved] [--expires <ISO date>]insforge secrets update <key> [--value] [--active] [--reserved] [--expires]insforge secrets delete <key>--active trueinsforge schedulesinsforge schedules listinsforge schedules get <id>insforge schedules create --name --cron --url --method [--headers <json>] [--body <json>]insforge schedules update <id> [--name] [--cron] [--url] [--method] [--headers] [--body] [--active]insforge schedules delete <id>insforge schedules logs <id> [--limit] [--offset]insforge logsinsforge logs <source> [--limit <n>]| Source | Description |
|---|---|
| Main backend logs |
| PostgREST API layer logs |
| PostgreSQL database logs |
| Edge function execution logs |
Source names are case-insensitive:works the same aspostgrest.logs.postgREST.logs
insforge docsinsforge docsinsforge docs instructionsinsforge docs <feature> <language>db / storage / functions / auth / ai / realtimetypescript / swift / kotlin / rest-api{oss_host}/functions/{slug}/api/functions/{slug}insforge secrets update KEY --active true--allsecrets list--data--dataminute hour day month day-of-week${{secrets.KEY_NAME}}insforge db query "CREATE TABLE posts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
author_id UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT now()
)"
insforge db query "ALTER TABLE posts ENABLE ROW LEVEL SECURITY"
insforge db query "CREATE POLICY \"public_read\" ON posts FOR SELECT USING (true)"
insforge db query "CREATE POLICY \"owner_write\" ON posts FOR INSERT WITH CHECK (auth.uid() = author_id)"FK to users: always. RLS current user:auth.users(id).auth.uid()
# Default source path: insforge/functions/{slug}/index.ts
insforge functions deploy my-handler
insforge functions invoke my-handler --data '{"action": "test"}'npm run build
insforge deployments deploy ./dist --env '{"VITE_API_URL": "https://my-app.us-east.insforge.app"}'Always build locally first. Env var prefix depends on framework:,VITE_*,NEXT_PUBLIC_*.REACT_APP_*
insforge db export --output backup.sql
insforge db import backup.sql# Create a schedule that calls a function every 5 minutes
insforge schedules create \
--name "Cleanup Expired" \
--cron "*/5 * * * *" \
--url "https://my-app.us-east.insforge.app/functions/cleanup" \
--method POST \
--headers '{"Authorization": "Bearer ${{secrets.API_TOKEN}}"}'
# Check execution history
insforge schedules logs <id>insforge logs function.logs # function execution issues
insforge logs postgres.logs # database query problems
insforge logs insforge.logs # API / auth errors
insforge logs postgrest.logs --limit 50INSFORGE_EMAIL=$EMAIL INSFORGE_PASSWORD=$PASSWORD insforge login --email -y
insforge link --project-id $PROJECT_ID --org-id $ORG_ID -y
insforge db query "SELECT count(*) FROM users" --jsoncreatelink.insforge/project.json{
"project_id": "...",
"appkey": "...",
"region": "us-east",
"api_key": "ik_...",
"oss_host": "https://{appkey}.{region}.insforge.app"
}oss_hostapi_key