insforge 1.2.10 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +20 -20
- package/.dockerignore +60 -60
- package/.env.example +83 -77
- package/.github/ISSUE_TEMPLATE/bug_report.yml +36 -36
- package/.github/ISSUE_TEMPLATE/config.yml +11 -11
- package/.github/ISSUE_TEMPLATE/feature_request.yml +26 -26
- package/.github/PULL_REQUEST_TEMPLATE.md +7 -7
- package/.github/copilot-instructions.md +146 -146
- package/.github/workflows/build-image.yml +65 -65
- package/.github/workflows/ci-premerge-check.yml +23 -23
- package/.github/workflows/e2e.yml +63 -63
- package/.github/workflows/lint-and-format.yml +32 -32
- package/.prettierignore +64 -64
- package/CHANGELOG.md +44 -44
- package/CLAUDE_PLUGIN.md +104 -104
- package/CODE_OF_CONDUCT.md +128 -128
- package/CONTRIBUTING.md +125 -125
- package/Dockerfile +30 -30
- package/GITHUB_OAUTH_SETUP.md +49 -49
- package/GOOGLE_OAUTH_SETUP.md +148 -148
- package/LICENSE +201 -201
- package/README.md +182 -182
- package/assets/Dark.svg +23 -23
- package/auth/package.json +28 -28
- package/auth/src/lib/broadcastService.ts +117 -115
- package/auth/src/pages/SignInPage.tsx +60 -57
- package/auth/src/pages/SignUpPage.tsx +60 -57
- package/auth/tsconfig.json +32 -32
- package/auth/tsconfig.node.json +11 -11
- package/backend/package.json +78 -75
- package/backend/src/api/routes/ai/index.routes.ts +3 -3
- package/backend/src/api/routes/auth/index.routes.ts +667 -570
- package/backend/src/api/routes/auth/oauth.routes.ts +473 -448
- package/backend/src/api/routes/database/advance.routes.ts +37 -16
- package/backend/src/api/routes/database/index.routes.ts +78 -1
- package/backend/src/api/routes/database/records.routes.ts +10 -10
- package/backend/src/api/routes/database/tables.routes.ts +0 -14
- package/backend/src/api/routes/docs/index.routes.ts +75 -76
- package/backend/src/api/routes/email/index.routes.ts +35 -0
- package/backend/src/api/routes/functions/index.routes.ts +18 -12
- package/backend/src/api/routes/metadata/index.routes.ts +12 -0
- package/backend/src/api/routes/realtime/channels.routes.ts +81 -0
- package/backend/src/api/routes/realtime/index.routes.ts +12 -0
- package/backend/src/api/routes/realtime/messages.routes.ts +48 -0
- package/backend/src/api/routes/realtime/permissions.routes.ts +19 -0
- package/backend/src/api/routes/storage/index.routes.ts +18 -12
- package/backend/src/api/routes/usage/index.routes.ts +6 -4
- package/backend/src/infra/database/database.manager.ts +14 -1
- package/backend/src/infra/database/migrations/000_create-base-tables.sql +141 -141
- package/backend/src/infra/database/migrations/001_create-helper-functions.sql +40 -40
- package/backend/src/infra/database/migrations/002_rename-auth-tables.sql +29 -29
- package/backend/src/infra/database/migrations/003_create-users-table.sql +55 -55
- package/backend/src/infra/database/migrations/004_add-reload-postgrest-func.sql +23 -23
- package/backend/src/infra/database/migrations/005_enable-project-admin-modify-users.sql +29 -29
- package/backend/src/infra/database/migrations/006_modify-ai-usage-table.sql +24 -24
- package/backend/src/infra/database/migrations/007_drop-metadata-table.sql +1 -1
- package/backend/src/infra/database/migrations/008_add-system-tables.sql +76 -76
- package/backend/src/infra/database/migrations/009_add-function-secrets.sql +23 -23
- package/backend/src/infra/database/migrations/010_modify-ai-config-modalities.sql +93 -93
- package/backend/src/infra/database/migrations/011_refactor-secrets-table.sql +15 -15
- package/backend/src/infra/database/migrations/012_add-storage-uploaded-by.sql +7 -7
- package/backend/src/infra/database/migrations/013_create-auth-schema-functions.sql +44 -44
- package/backend/src/infra/database/migrations/014_add-updated-at-trigger-user-table.sql +7 -7
- package/backend/src/infra/database/migrations/015_create-auth-config-and-email-otp-tables.sql +59 -59
- package/backend/src/infra/database/migrations/016_update-auth-config-and-email-otp.sql +24 -24
- package/backend/src/infra/database/migrations/017_create-realtime-schema.sql +233 -0
- package/backend/src/infra/realtime/realtime.manager.ts +246 -0
- package/backend/src/infra/realtime/webhook-sender.ts +82 -0
- package/backend/src/infra/security/token.manager.ts +219 -125
- package/backend/src/infra/socket/socket.manager.ts +198 -64
- package/backend/src/providers/ai/openrouter.provider.ts +12 -9
- package/backend/src/providers/email/base.provider.ts +4 -7
- package/backend/src/providers/email/cloud.provider.ts +84 -0
- package/backend/src/providers/oauth/apple.provider.ts +266 -0
- package/backend/src/providers/oauth/index.ts +1 -0
- package/backend/src/server.ts +317 -284
- package/backend/src/services/ai/ai-model.service.ts +5 -5
- package/backend/src/services/ai/chat-completion.service.ts +4 -4
- package/backend/src/services/ai/image-generation.service.ts +3 -3
- package/backend/src/services/auth/auth.service.ts +14 -0
- package/backend/src/services/database/database-table.service.ts +0 -9
- package/backend/src/services/database/database.service.ts +127 -0
- package/backend/src/services/email/email.service.ts +5 -7
- package/backend/src/services/realtime/index.ts +3 -0
- package/backend/src/services/realtime/realtime-auth.service.ts +104 -0
- package/backend/src/services/realtime/realtime-channel.service.ts +237 -0
- package/backend/src/services/realtime/realtime-message.service.ts +260 -0
- package/backend/src/types/auth.ts +11 -0
- package/backend/src/types/realtime.ts +18 -0
- package/backend/src/types/socket.ts +7 -31
- package/backend/src/utils/cookies.ts +35 -0
- package/backend/src/utils/s3-config-loader.ts +64 -0
- package/backend/src/utils/seed.ts +301 -298
- package/backend/src/utils/sql-parser.ts +90 -0
- package/backend/tests/README.md +133 -133
- package/backend/tests/cleanup-all-test-data.sh +230 -230
- package/backend/tests/cloud/test-s3-multitenant.sh +131 -131
- package/backend/tests/local/comprehensive-curl-tests.sh +155 -155
- package/backend/tests/local/test-ai-config.sh +129 -129
- package/backend/tests/local/test-ai-usage.sh +80 -80
- package/backend/tests/local/test-auth-router.sh +143 -143
- package/backend/tests/local/test-database-router.sh +222 -222
- package/backend/tests/local/test-e2e.sh +240 -240
- package/backend/tests/local/test-fk-errors.sh +96 -96
- package/backend/tests/local/test-functions.sh +123 -123
- package/backend/tests/local/test-id-field.sh +200 -200
- package/backend/tests/local/test-logs.sh +132 -132
- package/backend/tests/local/test-public-bucket.sh +264 -264
- package/backend/tests/local/test-secrets.sh +249 -249
- package/backend/tests/local/test-serverless-functions.sh.disabled +325 -325
- package/backend/tests/local/test-traditional-rest.sh +208 -208
- package/backend/tests/manual/README.md +50 -50
- package/backend/tests/manual/create-large-table-simple.sql +10 -10
- package/backend/tests/manual/seed-large-table.sql +100 -100
- package/backend/tests/manual/setup-large-table-extras.sql +33 -33
- package/backend/tests/manual/test-bulk-upsert.sh +409 -409
- package/backend/tests/manual/test-database-advance.sh +296 -296
- package/backend/tests/manual/test-postgrest-stability.sh +191 -191
- package/backend/tests/manual/test-rawsql-export-import.sh +411 -411
- package/backend/tests/manual/test-rawsql-modes.sh +244 -244
- package/backend/tests/manual/test-universal-storage.sh +263 -263
- package/backend/tests/manual/test-users.sql +17 -17
- package/backend/tests/run-all-tests.sh +139 -139
- package/backend/tests/setup.ts +0 -0
- package/backend/tests/test-config.sh +338 -338
- package/backend/tests/unit/analyze-query.test.ts +697 -0
- package/backend/tsconfig.json +22 -22
- package/claude-plugin/.claude-plugin/plugin.json +24 -24
- package/claude-plugin/README.md +133 -133
- package/claude-plugin/skills/insforge-schema-patterns/SKILL.md +270 -270
- package/docker-compose.prod.yml +204 -200
- package/docker-compose.yml +232 -228
- package/docker-init/db/db-init.sql +97 -97
- package/docker-init/db/jwt.sql +5 -5
- package/docker-init/db/postgresql.conf +16 -16
- package/docker-init/logs/vector.yml +236 -236
- package/docs/README.md +44 -44
- package/docs/agent-docs/real-time.md +269 -0
- package/docs/changelog.mdx +119 -67
- package/docs/core-concepts/ai/architecture.mdx +372 -372
- package/docs/core-concepts/ai/sdk.mdx +213 -213
- package/docs/core-concepts/authentication/architecture.mdx +278 -278
- package/docs/core-concepts/authentication/sdk.mdx +414 -414
- package/docs/core-concepts/authentication/ui-components/customization.mdx +529 -529
- package/docs/core-concepts/authentication/ui-components/nextjs.mdx +221 -221
- package/docs/core-concepts/authentication/ui-components/react-router.mdx +184 -184
- package/docs/core-concepts/authentication/ui-components/react.mdx +129 -129
- package/docs/core-concepts/database/architecture.mdx +255 -255
- package/docs/core-concepts/database/sdk.mdx +382 -382
- package/docs/core-concepts/email/architecture.mdx +101 -0
- package/docs/core-concepts/email/sdk.mdx +53 -0
- package/docs/core-concepts/functions/architecture.mdx +105 -105
- package/docs/core-concepts/functions/sdk.mdx +184 -184
- package/docs/core-concepts/realtime/architecture.mdx +446 -0
- package/docs/core-concepts/realtime/sdk.mdx +409 -0
- package/docs/core-concepts/storage/architecture.mdx +243 -243
- package/docs/core-concepts/storage/sdk.mdx +253 -253
- package/docs/deployment/README.md +94 -94
- package/docs/deployment/deploy-to-aws-ec2.md +564 -564
- package/docs/deployment/deploy-to-azure-virtual-machines.md +312 -312
- package/docs/deployment/deploy-to-google-cloud-compute-engine.md +613 -613
- package/docs/deployment/deploy-to-render.md +441 -441
- package/docs/deprecated/insforge-auth-api.md +214 -214
- package/docs/deprecated/insforge-auth-sdk.md +99 -99
- package/docs/deprecated/insforge-db-api.md +358 -358
- package/docs/deprecated/insforge-db-sdk.md +139 -139
- package/docs/deprecated/insforge-debug-sdk.md +156 -156
- package/docs/deprecated/insforge-debug.md +64 -64
- package/docs/deprecated/insforge-instructions.md +123 -123
- package/docs/deprecated/insforge-project.md +117 -117
- package/docs/deprecated/insforge-storage-api.md +278 -278
- package/docs/deprecated/insforge-storage-sdk.md +158 -158
- package/docs/docs.json +232 -210
- package/docs/examples/framework-guides/nextjs.mdx +131 -131
- package/docs/examples/framework-guides/nuxt.mdx +165 -165
- package/docs/examples/framework-guides/react.mdx +165 -165
- package/docs/examples/framework-guides/svelte.mdx +153 -153
- package/docs/examples/framework-guides/vue.mdx +159 -159
- package/docs/examples/overview.mdx +67 -67
- package/docs/favicon.svg +19 -19
- package/docs/images/changelog/dec-2025/ai-integration.png +0 -0
- package/docs/images/changelog/dec-2025/ai-models.webp +0 -0
- package/docs/images/changelog/dec-2025/alipay-payment.webp +0 -0
- package/docs/images/changelog/dec-2025/apple-login.jpg +0 -0
- package/docs/images/changelog/dec-2025/mcp-installer.png +0 -0
- package/docs/images/changelog/dec-2025/realtime-module.jpg +0 -0
- package/docs/images/icons/ai.svg +4 -4
- package/docs/images/logos/nextjs.svg +4 -4
- package/docs/images/logos/nuxt.svg +4 -4
- package/docs/images/logos/react.svg +5 -5
- package/docs/images/logos/svelte.svg +4 -4
- package/docs/images/logos/vue.svg +5 -5
- package/docs/insforge-instructions-sdk.md +89 -88
- package/docs/introduction.mdx +45 -45
- package/docs/logo/dark.svg +22 -22
- package/docs/logo/light.svg +20 -20
- package/docs/partnership.mdx +651 -646
- package/docs/quickstart.mdx +82 -82
- package/docs/showcase.mdx +52 -52
- package/docs/snippets/sdk-installation.mdx +21 -21
- package/docs/snippets/service-icons.mdx +27 -27
- package/examples/oauth/frontend-oauth-example.html +250 -250
- package/examples/response-examples.md +443 -443
- package/frontend/components.json +17 -17
- package/frontend/package.json +69 -69
- package/frontend/src/assets/icons/checkbox_checked.svg +6 -6
- package/frontend/src/assets/icons/checkbox_undetermined.svg +6 -6
- package/frontend/src/assets/icons/checked.svg +3 -3
- package/frontend/src/assets/icons/connected.svg +3 -3
- package/frontend/src/assets/icons/error.svg +3 -3
- package/frontend/src/assets/icons/loader.svg +9 -9
- package/frontend/src/assets/icons/pencil.svg +4 -4
- package/frontend/src/assets/icons/refresh.svg +4 -4
- package/frontend/src/assets/icons/step_active.svg +3 -3
- package/frontend/src/assets/icons/step_inactive.svg +11 -11
- package/frontend/src/assets/icons/warning.svg +3 -3
- package/frontend/src/assets/logos/apple.svg +3 -3
- package/frontend/src/assets/logos/claude_code.svg +3 -3
- package/frontend/src/assets/logos/cline.svg +6 -6
- package/frontend/src/assets/logos/cursor.svg +20 -20
- package/frontend/src/assets/logos/discord.svg +8 -8
- package/frontend/src/assets/logos/facebook.svg +3 -3
- package/frontend/src/assets/logos/gemini.svg +19 -19
- package/frontend/src/assets/logos/github.svg +5 -5
- package/frontend/src/assets/logos/google.svg +13 -13
- package/frontend/src/assets/logos/grok.svg +10 -10
- package/frontend/src/assets/logos/insforge_dark.svg +15 -15
- package/frontend/src/assets/logos/insforge_light.svg +15 -15
- package/frontend/src/assets/logos/instagram.svg +1 -1
- package/frontend/src/assets/logos/linkedin.svg +3 -3
- package/frontend/src/assets/logos/openai.svg +10 -10
- package/frontend/src/assets/logos/roo_code.svg +9 -9
- package/frontend/src/assets/logos/spotify.svg +16 -16
- package/frontend/src/assets/logos/tiktok.svg +5 -5
- package/frontend/src/assets/logos/trae.svg +3 -3
- package/frontend/src/assets/logos/windsurf.svg +10 -10
- package/frontend/src/assets/logos/x.svg +3 -3
- package/frontend/src/components/layout/AppHeader.tsx +9 -10
- package/frontend/src/features/auth/components/OAuthConfigDialog.tsx +1 -0
- package/frontend/src/features/auth/components/UsersDataGrid.tsx +6 -0
- package/frontend/src/features/auth/helpers.tsx +8 -0
- package/frontend/src/features/auth/{page → pages}/UsersPage.tsx +0 -28
- package/frontend/src/features/database/components/SQLModal.tsx +75 -0
- package/frontend/src/features/database/components/TableForm.tsx +0 -4
- package/frontend/src/features/database/hooks/useDatabase.ts +66 -0
- package/frontend/src/features/database/hooks/useTables.ts +32 -28
- package/frontend/src/features/database/index.ts +1 -0
- package/frontend/src/features/database/{page → pages}/FunctionsPage.tsx +29 -37
- package/frontend/src/features/database/{page → pages}/IndexesPage.tsx +35 -47
- package/frontend/src/features/database/{page → pages}/PoliciesPage.tsx +43 -54
- package/frontend/src/features/database/{page → pages}/TablesPage.tsx +0 -42
- package/frontend/src/features/database/{page → pages}/TriggersPage.tsx +35 -47
- package/frontend/src/features/database/services/advance.service.ts +0 -26
- package/frontend/src/features/database/services/database.service.ts +55 -0
- package/frontend/src/features/database/services/table.service.ts +0 -6
- package/frontend/src/features/functions/{page → pages}/FunctionsPage.tsx +21 -44
- package/frontend/src/features/functions/{page → pages}/SecretsPage.tsx +11 -9
- package/frontend/src/features/logs/hooks/useMcpUsage.ts +13 -66
- package/frontend/src/features/realtime/components/ChannelRow.tsx +83 -0
- package/frontend/src/features/realtime/components/EditChannelModal.tsx +246 -0
- package/frontend/src/features/realtime/components/MessageRow.tsx +85 -0
- package/frontend/src/features/realtime/components/RealtimeEmptyState.tsx +30 -0
- package/frontend/src/features/realtime/hooks/useRealtime.ts +218 -0
- package/frontend/src/features/realtime/index.ts +11 -0
- package/frontend/src/features/realtime/pages/RealtimeChannelsPage.tsx +172 -0
- package/frontend/src/features/realtime/pages/RealtimeMessagesPage.tsx +211 -0
- package/frontend/src/features/realtime/pages/RealtimePermissionsPage.tsx +191 -0
- package/frontend/src/features/realtime/services/realtime.service.ts +107 -0
- package/frontend/src/features/storage/{page → pages}/StoragePage.tsx +1 -29
- package/frontend/src/features/visualizer/components/SchemaVisualizer.tsx +3 -3
- package/frontend/src/features/visualizer/{page → pages}/VisualizerPage.tsx +1 -35
- package/frontend/src/lib/contexts/SocketContext.tsx +119 -75
- package/frontend/src/lib/routing/AppRoutes.tsx +35 -20
- package/frontend/src/lib/utils/cloudMessaging.ts +1 -1
- package/frontend/src/lib/utils/menuItems.ts +24 -0
- package/frontend/src/lib/utils/utils.ts +14 -1
- package/frontend/tsconfig.json +25 -25
- package/frontend/tsconfig.node.json +9 -9
- package/functions/deno.json +24 -24
- package/functions/server.ts +315 -315
- package/i18n/README.ar.md +130 -130
- package/i18n/README.de.md +130 -130
- package/i18n/README.es.md +154 -154
- package/i18n/README.fr.md +134 -134
- package/i18n/README.hi.md +129 -129
- package/i18n/README.ja.md +174 -174
- package/i18n/README.ko.md +136 -136
- package/i18n/README.pt-BR.md +131 -131
- package/i18n/README.ru.md +129 -129
- package/i18n/README.zh-CN.md +133 -133
- package/openapi/ai.yaml +715 -715
- package/openapi/auth.yaml +1244 -1244
- package/openapi/email.yaml +158 -0
- package/openapi/functions.yaml +475 -475
- package/openapi/health.yaml +29 -29
- package/openapi/logs.yaml +223 -223
- package/openapi/metadata.yaml +177 -177
- package/openapi/realtime.yaml +699 -0
- package/openapi/records.yaml +381 -381
- package/openapi/secrets.yaml +370 -370
- package/openapi/storage.yaml +875 -875
- package/openapi/tables.yaml +463 -463
- package/package.json +97 -97
- package/shared-schemas/package.json +31 -31
- package/shared-schemas/src/ai.schema.ts +63 -59
- package/shared-schemas/src/auth-api.schema.ts +352 -339
- package/shared-schemas/src/auth.schema.ts +1 -1
- package/shared-schemas/src/database-api.schema.ts +32 -1
- package/shared-schemas/src/database.schema.ts +39 -0
- package/shared-schemas/src/docs.schema.ts +26 -0
- package/shared-schemas/src/email-api.schema.ts +30 -0
- package/shared-schemas/src/index.ts +4 -0
- package/shared-schemas/src/metadata.schema.ts +9 -0
- package/shared-schemas/src/realtime-api.schema.ts +111 -0
- package/shared-schemas/src/realtime.schema.ts +143 -0
- package/shared-schemas/tsconfig.json +21 -21
- package/tsconfig.json +7 -7
- package/zeabur/README.md +13 -13
- package/zeabur/template.yml +1032 -1032
- package/.cursor/rules/cursor-rules.mdc +0 -94
- package/frontend/src/features/database/hooks/useFullMetadata.ts +0 -18
- package/test-gemini.sh +0 -35
- package/test-usage-admin.sh +0 -57
- package/test-usage.sh +0 -50
- /package/frontend/src/features/ai/{page → pages}/AIPage.tsx +0 -0
- /package/frontend/src/features/auth/{page → pages}/AuthMethodsPage.tsx +0 -0
- /package/frontend/src/features/auth/{page → pages}/ConfigurationPage.tsx +0 -0
- /package/frontend/src/features/dashboard/{page → pages}/DashboardPage.tsx +0 -0
- /package/frontend/src/features/database/{page → pages}/SQLEditorPage.tsx +0 -0
- /package/frontend/src/features/database/{page → pages}/TemplatesPage.tsx +0 -0
- /package/frontend/src/features/login/{page → pages}/CloudLoginPage.tsx +0 -0
- /package/frontend/src/features/login/{page → pages}/LoginPage.tsx +0 -0
- /package/frontend/src/features/logs/{page → pages}/AuditsPage.tsx +0 -0
- /package/frontend/src/features/logs/{page → pages}/LogsPage.tsx +0 -0
- /package/frontend/src/features/logs/{page → pages}/MCPLogsPage.tsx +0 -0
package/docs/quickstart.mdx
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Quickstart"
|
|
3
|
-
description: "Get Insforge running in 5 minutes"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
Choose your deployment method:
|
|
7
|
-
|
|
8
|
-
<Tabs>
|
|
9
|
-
<Tab title="Cloud Platform">
|
|
10
|
-
## Get started in three steps (Cloud)
|
|
11
|
-
|
|
12
|
-
### Step 1: Create your project
|
|
13
|
-
|
|
14
|
-
<Card title="Go to Insforge Cloud" icon="cloud" href="https://insforge.dev">
|
|
15
|
-
Visit [insforge.dev](https://insforge.dev) and create a free account
|
|
16
|
-
</Card>
|
|
17
|
-
|
|
18
|
-
Once logged in:
|
|
19
|
-
1. Click **"Create New Project"**
|
|
20
|
-
2. Your backend will be ready in ~3 seconds
|
|
21
|
-
|
|
22
|
-
### Step 2: Connect to InsForge MCP Server
|
|
23
|
-
|
|
24
|
-
<img src="/images/onboarding-mcp.png" alt="InsForge MCP Installation" />
|
|
25
|
-
|
|
26
|
-
In your project dashboard:
|
|
27
|
-
1. Choose your IDE (Cursor, Claude Code, Windsurf, Cline, etc.)
|
|
28
|
-
2. Copy the installation command - it includes your API key and URL automatically
|
|
29
|
-
3. Run the command in your terminal
|
|
30
|
-
|
|
31
|
-
Example command (yours will have your actual API key and URL):
|
|
32
|
-
```bash
|
|
33
|
-
npx @insforge/install --client cursor \
|
|
34
|
-
--env API_KEY=ik_your_actual_api_key_here \
|
|
35
|
-
--env API_BASE_URL=https://your-app.us-east.insforge.app
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
4. Test in your coding IDE by asking: "InsForge is my backend platform, what is my current backend structure?"
|
|
39
|
-
|
|
40
|
-
### Step 3: Build your first app
|
|
41
|
-
|
|
42
|
-
Check out our [framework examples](/examples/overview) for step-by-step guides on building with:
|
|
43
|
-
- Next.js
|
|
44
|
-
- React
|
|
45
|
-
- Vue
|
|
46
|
-
- Nuxt
|
|
47
|
-
- Svelte
|
|
48
|
-
|
|
49
|
-
Or tell your AI assistant to build something:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
"Build a todo app with user authentication using Insforge as the backend"
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Your AI will automatically:
|
|
56
|
-
- Create database tables
|
|
57
|
-
- Set up authentication
|
|
58
|
-
- Handle file uploads
|
|
59
|
-
- Generate a complete frontend
|
|
60
|
-
</Tab>
|
|
61
|
-
|
|
62
|
-
<Tab title="Local Development">
|
|
63
|
-
## Run Insforge locally
|
|
64
|
-
|
|
65
|
-
For local development and self-hosting instructions, please visit the official OSS repository:
|
|
66
|
-
|
|
67
|
-
<Card title="Insforge OSS Repository" icon="github" href="https://github.com/insforge/insforge">
|
|
68
|
-
**Complete local setup guide available at:**
|
|
69
|
-
|
|
70
|
-
https://github.com/insforge/insforge
|
|
71
|
-
|
|
72
|
-
The repository includes:
|
|
73
|
-
- Docker setup instructions
|
|
74
|
-
- Environment configuration
|
|
75
|
-
- AI agent integration guides
|
|
76
|
-
- Troubleshooting tips
|
|
77
|
-
</Card>
|
|
78
|
-
|
|
79
|
-
<Note>
|
|
80
|
-
Local development requires Docker and provides the same features as the cloud platform.
|
|
81
|
-
</Note>
|
|
82
|
-
</Tab>
|
|
1
|
+
---
|
|
2
|
+
title: "Quickstart"
|
|
3
|
+
description: "Get Insforge running in 5 minutes"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Choose your deployment method:
|
|
7
|
+
|
|
8
|
+
<Tabs>
|
|
9
|
+
<Tab title="Cloud Platform">
|
|
10
|
+
## Get started in three steps (Cloud)
|
|
11
|
+
|
|
12
|
+
### Step 1: Create your project
|
|
13
|
+
|
|
14
|
+
<Card title="Go to Insforge Cloud" icon="cloud" href="https://insforge.dev">
|
|
15
|
+
Visit [insforge.dev](https://insforge.dev) and create a free account
|
|
16
|
+
</Card>
|
|
17
|
+
|
|
18
|
+
Once logged in:
|
|
19
|
+
1. Click **"Create New Project"**
|
|
20
|
+
2. Your backend will be ready in ~3 seconds
|
|
21
|
+
|
|
22
|
+
### Step 2: Connect to InsForge MCP Server
|
|
23
|
+
|
|
24
|
+
<img src="/images/onboarding-mcp.png" alt="InsForge MCP Installation" />
|
|
25
|
+
|
|
26
|
+
In your project dashboard:
|
|
27
|
+
1. Choose your IDE (Cursor, Claude Code, Windsurf, Cline, etc.)
|
|
28
|
+
2. Copy the installation command - it includes your API key and URL automatically
|
|
29
|
+
3. Run the command in your terminal
|
|
30
|
+
|
|
31
|
+
Example command (yours will have your actual API key and URL):
|
|
32
|
+
```bash
|
|
33
|
+
npx @insforge/install --client cursor \
|
|
34
|
+
--env API_KEY=ik_your_actual_api_key_here \
|
|
35
|
+
--env API_BASE_URL=https://your-app.us-east.insforge.app
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
4. Test in your coding IDE by asking: "InsForge is my backend platform, what is my current backend structure?"
|
|
39
|
+
|
|
40
|
+
### Step 3: Build your first app
|
|
41
|
+
|
|
42
|
+
Check out our [framework examples](/examples/overview) for step-by-step guides on building with:
|
|
43
|
+
- Next.js
|
|
44
|
+
- React
|
|
45
|
+
- Vue
|
|
46
|
+
- Nuxt
|
|
47
|
+
- Svelte
|
|
48
|
+
|
|
49
|
+
Or tell your AI assistant to build something:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
"Build a todo app with user authentication using Insforge as the backend"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Your AI will automatically:
|
|
56
|
+
- Create database tables
|
|
57
|
+
- Set up authentication
|
|
58
|
+
- Handle file uploads
|
|
59
|
+
- Generate a complete frontend
|
|
60
|
+
</Tab>
|
|
61
|
+
|
|
62
|
+
<Tab title="Local Development">
|
|
63
|
+
## Run Insforge locally
|
|
64
|
+
|
|
65
|
+
For local development and self-hosting instructions, please visit the official OSS repository:
|
|
66
|
+
|
|
67
|
+
<Card title="Insforge OSS Repository" icon="github" href="https://github.com/insforge/insforge">
|
|
68
|
+
**Complete local setup guide available at:**
|
|
69
|
+
|
|
70
|
+
https://github.com/insforge/insforge
|
|
71
|
+
|
|
72
|
+
The repository includes:
|
|
73
|
+
- Docker setup instructions
|
|
74
|
+
- Environment configuration
|
|
75
|
+
- AI agent integration guides
|
|
76
|
+
- Troubleshooting tips
|
|
77
|
+
</Card>
|
|
78
|
+
|
|
79
|
+
<Note>
|
|
80
|
+
Local development requires Docker and provides the same features as the cloud platform.
|
|
81
|
+
</Note>
|
|
82
|
+
</Tab>
|
|
83
83
|
</Tabs>
|
package/docs/showcase.mdx
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Showcase
|
|
3
|
-
description: Production applications built with InsForge
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
import { ServiceIcons } from '/snippets/service-icons.mdx';
|
|
7
|
-
|
|
8
|
-
See what developers are building with InsForge - from AI-powered SaaS to social platforms and beyond.
|
|
9
|
-
|
|
10
|
-
## Community Projects
|
|
11
|
-
|
|
12
|
-
<CardGroup cols={2}>
|
|
13
|
-
<Card title="National Flags Leaderboard" icon="flag" href="https://national-flags-phi.vercel.app/">
|
|
14
|
-
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
15
|
-
<img src="/showcase/national-flags.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="National Flags Leaderboard showcase" />
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
Learn national flags through an interactive database and take on challenges with real-time leaderboard rankings.
|
|
19
|
-
|
|
20
|
-
<ServiceIcons services={['database', 'auth', 'storage', 'ai', 'functions']} />
|
|
21
|
-
</Card>
|
|
22
|
-
|
|
23
|
-
<Card title="Pokemon Vibe" icon="wand-magic-sparkles" href="https://pokemon-vibe.vercel.app/">
|
|
24
|
-
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
25
|
-
<img src="/showcase/pokemon-vibe.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="Pokemon Vibe showcase" />
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
Form your own Pokemon teams and compete against others. AI-powered battles let two teams fight on top of AI-generated drawings.
|
|
29
|
-
|
|
30
|
-
<ServiceIcons services={['database', 'auth', 'storage', 'ai', 'functions']} />
|
|
31
|
-
</Card>
|
|
32
|
-
|
|
33
|
-
<Card title="2048 Arena" icon="gamepad" href="https://insforge-2048-arena.netlify.app/">
|
|
34
|
-
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
35
|
-
<img src="/showcase/2048-arena.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="2048 Arena showcase" />
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
Classic 2048 puzzle game with multiplayer arena and competitive leaderboards.
|
|
39
|
-
|
|
40
|
-
<ServiceIcons services={['database', 'auth']} />
|
|
41
|
-
</Card>
|
|
42
|
-
|
|
43
|
-
<Card title="Line Connect Race" icon="route" href="https://line-connect-race.vercel.app/">
|
|
44
|
-
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
45
|
-
<img src="/showcase/line-connect-race.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="Line Connect Race showcase" />
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
Interactive line-drawing racing game with real-time multiplayer and competitive gameplay.
|
|
49
|
-
|
|
50
|
-
<ServiceIcons services={['database', 'auth', 'functions']} />
|
|
51
|
-
</Card>
|
|
52
|
-
</CardGroup>
|
|
1
|
+
---
|
|
2
|
+
title: Showcase
|
|
3
|
+
description: Production applications built with InsForge
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
import { ServiceIcons } from '/snippets/service-icons.mdx';
|
|
7
|
+
|
|
8
|
+
See what developers are building with InsForge - from AI-powered SaaS to social platforms and beyond.
|
|
9
|
+
|
|
10
|
+
## Community Projects
|
|
11
|
+
|
|
12
|
+
<CardGroup cols={2}>
|
|
13
|
+
<Card title="National Flags Leaderboard" icon="flag" href="https://national-flags-phi.vercel.app/">
|
|
14
|
+
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
15
|
+
<img src="/showcase/national-flags.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="National Flags Leaderboard showcase" />
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
Learn national flags through an interactive database and take on challenges with real-time leaderboard rankings.
|
|
19
|
+
|
|
20
|
+
<ServiceIcons services={['database', 'auth', 'storage', 'ai', 'functions']} />
|
|
21
|
+
</Card>
|
|
22
|
+
|
|
23
|
+
<Card title="Pokemon Vibe" icon="wand-magic-sparkles" href="https://pokemon-vibe.vercel.app/">
|
|
24
|
+
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
25
|
+
<img src="/showcase/pokemon-vibe.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="Pokemon Vibe showcase" />
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
Form your own Pokemon teams and compete against others. AI-powered battles let two teams fight on top of AI-generated drawings.
|
|
29
|
+
|
|
30
|
+
<ServiceIcons services={['database', 'auth', 'storage', 'ai', 'functions']} />
|
|
31
|
+
</Card>
|
|
32
|
+
|
|
33
|
+
<Card title="2048 Arena" icon="gamepad" href="https://insforge-2048-arena.netlify.app/">
|
|
34
|
+
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
35
|
+
<img src="/showcase/2048-arena.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="2048 Arena showcase" />
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
Classic 2048 puzzle game with multiplayer arena and competitive leaderboards.
|
|
39
|
+
|
|
40
|
+
<ServiceIcons services={['database', 'auth']} />
|
|
41
|
+
</Card>
|
|
42
|
+
|
|
43
|
+
<Card title="Line Connect Race" icon="route" href="https://line-connect-race.vercel.app/">
|
|
44
|
+
<div style={{maxHeight: '192px', height: '192px', overflow: 'hidden', borderRadius: '0.5rem', pointerEvents: 'none'}}>
|
|
45
|
+
<img src="/showcase/line-connect-race.png" style={{width: '100%', height: '192px', objectFit: 'cover', pointerEvents: 'none'}} alt="Line Connect Race showcase" />
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
Interactive line-drawing racing game with real-time multiplayer and competitive gameplay.
|
|
49
|
+
|
|
50
|
+
<ServiceIcons services={['database', 'auth', 'functions']} />
|
|
51
|
+
</Card>
|
|
52
|
+
</CardGroup>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
<CodeGroup>
|
|
2
|
-
```bash npm
|
|
3
|
-
npm install @insforge/sdk@latest
|
|
4
|
-
```
|
|
5
|
-
|
|
6
|
-
```bash yarn
|
|
7
|
-
yarn add @insforge/sdk@latest
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
```bash pnpm
|
|
11
|
-
pnpm add @insforge/sdk@latest
|
|
12
|
-
```
|
|
13
|
-
</CodeGroup>
|
|
14
|
-
|
|
15
|
-
```javascript
|
|
16
|
-
import { createClient } from '@insforge/sdk';
|
|
17
|
-
|
|
18
|
-
const insforge = createClient({
|
|
19
|
-
baseUrl: 'https://your-app.us-east.insforge.app',
|
|
20
|
-
anonKey: 'your-anon-key' // Optional: for public/unauthenticated requests
|
|
21
|
-
});
|
|
1
|
+
<CodeGroup>
|
|
2
|
+
```bash npm
|
|
3
|
+
npm install @insforge/sdk@latest
|
|
4
|
+
```
|
|
5
|
+
|
|
6
|
+
```bash yarn
|
|
7
|
+
yarn add @insforge/sdk@latest
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
```bash pnpm
|
|
11
|
+
pnpm add @insforge/sdk@latest
|
|
12
|
+
```
|
|
13
|
+
</CodeGroup>
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
import { createClient } from '@insforge/sdk';
|
|
17
|
+
|
|
18
|
+
const insforge = createClient({
|
|
19
|
+
baseUrl: 'https://your-app.us-east.insforge.app',
|
|
20
|
+
anonKey: 'your-anon-key' // Optional: for public/unauthenticated requests
|
|
21
|
+
});
|
|
22
22
|
```
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export const ServiceIcons = ({ services }) => {
|
|
2
|
-
const iconMap = {
|
|
3
|
-
database: { src: '/images/icons/database.svg', title: 'Database' },
|
|
4
|
-
auth: { src: '/images/icons/auth.svg', title: 'Authentication' },
|
|
5
|
-
storage: { src: '/images/icons/storage.svg', title: 'Storage' },
|
|
6
|
-
ai: { src: '/images/icons/ai.svg', title: 'AI Services' },
|
|
7
|
-
functions: { src: '/images/icons/function.svg', title: 'Edge Functions' }
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<div className="flex gap-2 mt-3" style={{pointerEvents: 'none'}}>
|
|
12
|
-
{services.map((service) => {
|
|
13
|
-
const icon = iconMap[service.toLowerCase()];
|
|
14
|
-
return icon ? (
|
|
15
|
-
<img
|
|
16
|
-
key={service}
|
|
17
|
-
src={icon.src}
|
|
18
|
-
alt={icon.title}
|
|
19
|
-
title={icon.title}
|
|
20
|
-
className="w-5 h-5 opacity-70"
|
|
21
|
-
style={{pointerEvents: 'none'}}
|
|
22
|
-
/>
|
|
23
|
-
) : null;
|
|
24
|
-
})}
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
1
|
+
export const ServiceIcons = ({ services }) => {
|
|
2
|
+
const iconMap = {
|
|
3
|
+
database: { src: '/images/icons/database.svg', title: 'Database' },
|
|
4
|
+
auth: { src: '/images/icons/auth.svg', title: 'Authentication' },
|
|
5
|
+
storage: { src: '/images/icons/storage.svg', title: 'Storage' },
|
|
6
|
+
ai: { src: '/images/icons/ai.svg', title: 'AI Services' },
|
|
7
|
+
functions: { src: '/images/icons/function.svg', title: 'Edge Functions' }
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<div className="flex gap-2 mt-3" style={{pointerEvents: 'none'}}>
|
|
12
|
+
{services.map((service) => {
|
|
13
|
+
const icon = iconMap[service.toLowerCase()];
|
|
14
|
+
return icon ? (
|
|
15
|
+
<img
|
|
16
|
+
key={service}
|
|
17
|
+
src={icon.src}
|
|
18
|
+
alt={icon.title}
|
|
19
|
+
title={icon.title}
|
|
20
|
+
className="w-5 h-5 opacity-70"
|
|
21
|
+
style={{pointerEvents: 'none'}}
|
|
22
|
+
/>
|
|
23
|
+
) : null;
|
|
24
|
+
})}
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
};
|