Skip to content

Commit deee0d6

Browse files
tonychang04claude
andcommitted
Initial InsForge Cursor plugin
Cursor IDE plugin providing MCP server and agent skills for building applications with InsForge Backend-as-a-Service. - MCP server via @insforge/mcp (database, auth, storage, functions, AI, deployments) - Agent skills via insforge-skills submodule (9 modules) - Release Please workflow for automated releases - Modeled after supabase-community/cursor-plugin Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit deee0d6

11 files changed

Lines changed: 214 additions & 0 deletions

File tree

.cursor-plugin/plugin.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "insforge",
3+
"version": "0.1.0",
4+
"description": "Build full-stack applications with InsForge Backend-as-a-Service. Manage databases, auth, storage, AI, serverless functions, and deployments.",
5+
"author": {
6+
"name": "InsForge",
7+
"email": "support@insforge.app",
8+
"url": "https://insforge.app"
9+
},
10+
"keywords": [
11+
"insforge",
12+
"backend",
13+
"database",
14+
"auth",
15+
"storage",
16+
"ai",
17+
"serverless",
18+
"mcp",
19+
"baas"
20+
],
21+
"logo": "https://insforge.app/favicon.svg",
22+
"primaryColor": "#6366F1"
23+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
10+
name: release-please
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: googleapis/release-please-action@v4
17+
id: release
18+
with:
19+
token: ${{ secrets.GITHUB_TOKEN }}
20+
21+
- uses: actions/checkout@v4
22+
if: ${{ steps.release.outputs.release_created }}
23+
with:
24+
submodules: recursive
25+
26+
- name: Build release archive
27+
if: ${{ steps.release.outputs.release_created }}
28+
run: |
29+
tar -czvf insforge-cursor-plugin.tar.gz \
30+
--dereference \
31+
.cursor-plugin/plugin.json \
32+
mcp.json \
33+
skills/
34+
35+
- name: Upload release asset
36+
if: ${{ steps.release.outputs.release_created }}
37+
env:
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
run: |
40+
gh release upload ${{ steps.release.outputs.tag_name }} \
41+
insforge-cursor-plugin.tar.gz

.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Environment and secrets
2+
.env
3+
.env.*
4+
!.env.example
5+
6+
# OS and editor
7+
.DS_Store
8+
*.swp
9+
*.swo
10+
11+
# Logs and temp
12+
*.log
13+
tmp/
14+
temp/
15+
16+
# Node
17+
node_modules/
18+
19+
# Local settings
20+
.claude/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "submodules/insforge-skills"]
2+
path = submodules/insforge-skills
3+
url = https://github.com/InsForge/insforge-skills.git

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.1.0"
3+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 InsForge
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# InsForge Cursor Plugin
2+
3+
Cursor IDE plugin that gives your AI agent the tools and knowledge to build full-stack applications with [InsForge](https://insforge.app).
4+
5+
## What's included
6+
7+
### MCP Server
8+
9+
Connects Cursor to your InsForge backend via the [`@insforge/mcp`](https://www.npmjs.com/package/@insforge/mcp) server, enabling:
10+
11+
- Database schema management (create tables, run SQL, manage indexes and RLS)
12+
- Storage bucket management (create, list, delete buckets)
13+
- Serverless function deployment (create, update, delete Deno functions)
14+
- Backend metadata inspection
15+
- SDK documentation fetching
16+
- Frontend deployment
17+
- Container log access
18+
19+
### Skills
20+
21+
The **InsForge** skill teaches the AI agent how to work with InsForge effectively, covering:
22+
23+
- Database CRUD operations with filters and pagination
24+
- Authentication flows (email/password, OAuth)
25+
- File storage (upload, download, delete)
26+
- AI integration (chat completions, image generation, embeddings)
27+
- Real-time pub/sub messaging
28+
- Serverless function invocation
29+
- Frontend deployment workflows
30+
31+
## Installation
32+
33+
Install from the Cursor Marketplace, or install manually:
34+
35+
1. Clone this repository
36+
2. Open Cursor Settings > Plugins
37+
3. Add the plugin from the cloned directory
38+
39+
## Configuration
40+
41+
Set environment variables for MCP authentication:
42+
43+
| Variable | Description | Example |
44+
|----------|-------------|---------|
45+
| `INSFORGE_API_KEY` | Your InsForge API key | `ik_95ea0a...` |
46+
| `INSFORGE_API_BASE_URL` | Your InsForge project URL | `https://abc123.us-east-1.insforge.app` |
47+
48+
Find these in **InsForge Dashboard > Project Settings**.
49+
50+
## Structure
51+
52+
```
53+
.cursor-plugin/
54+
plugin.json Plugin manifest
55+
mcp.json MCP server configuration
56+
skills/ Symlink to submodules/insforge-skills/skills
57+
submodules/
58+
insforge-skills/ Git submodule (InsForge/insforge-skills)
59+
```
60+
61+
## Development
62+
63+
### Updating skills
64+
65+
Skills are maintained in the [InsForge/insforge-skills](https://github.com/InsForge/insforge-skills) repository and pulled in as a git submodule.
66+
67+
```bash
68+
git submodule update --remote
69+
```
70+
71+
### Release
72+
73+
Releases are automated via Release Please. The workflow creates a tarball containing:
74+
75+
- `.cursor-plugin/plugin.json`
76+
- `mcp.json`
77+
- `skills/` (dereferenced from submodule)

mcp.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"insforge": {
3+
"command": "npx",
4+
"args": ["-y", "@insforge/mcp@latest"],
5+
"env": {
6+
"API_KEY": "${INSFORGE_API_KEY}",
7+
"API_BASE_URL": "${INSFORGE_API_BASE_URL}"
8+
}
9+
}
10+
}

release-please-config.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"packages": {
3+
".": {
4+
"release-type": "simple",
5+
"extra-files": [
6+
{
7+
"type": "json",
8+
"path": ".cursor-plugin/plugin.json",
9+
"jsonpath": "$.version"
10+
}
11+
]
12+
}
13+
}
14+
}

skills

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
submodules/insforge-skills/skills

0 commit comments

Comments
 (0)