@m2015agg/supabase-skill 0.6.0 → 0.6.2
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/README.md +135 -74
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.js +62 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
# @m2015agg/supabase-skill
|
|
2
2
|
|
|
3
|
-
**Supabase
|
|
3
|
+
**The Supabase MCP replacement.** One npm package that teaches AI agents (Claude Code, Codex, Cursor) how to use the Supabase CLI, caches your entire database schema locally, and pre-approves read-only commands so your agent stops asking permission for every lookup.
|
|
4
4
|
|
|
5
|
-
No MCP server. No context window bloat. No running processes.
|
|
5
|
+
No MCP server. No context window bloat. No running processes. No permission prompts for reads.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## The Problem
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
If you're using Claude Code (or any AI agent) with Supabase, you're burning tokens three ways:
|
|
10
10
|
|
|
11
|
-
The Supabase
|
|
11
|
+
**1. The MCP tax** — The Supabase MCP server dumps its entire tool schema into your context window. 30-40% gone before your agent starts thinking.
|
|
12
|
+
|
|
13
|
+
**2. The schema discovery loop** — Every conversation, your agent runs `SELECT * FROM information_schema.columns` or similar SQL to understand your tables. We measured this across 14 real conversations: **265 schema queries consumed ~330,000 tokens ($4.96 at Opus rates)**. The heaviest single query dumped 22,282 tokens.
|
|
14
|
+
|
|
15
|
+
**3. The permission prompt hell** — Claude asks "Allow this command?" for every `supabase migration list`, every `supabase inspect db table-stats`, every schema lookup. You click "Allow" 30 times per session.
|
|
16
|
+
|
|
17
|
+
## The Solution
|
|
18
|
+
|
|
19
|
+
**Replace the MCP with CLI instructions.** The Supabase CLI already does everything the MCP does. Your agent just doesn't know about it.
|
|
20
|
+
|
|
21
|
+
**Cache the schema locally.** One API call snapshots your entire database into a local SQLite + markdown cache. Your agent reads local files (~80 tokens) instead of running SQL queries (~1,247 tokens average).
|
|
22
|
+
|
|
23
|
+
**Pre-approve read commands.** 23 read-only commands (schema lookups, migration list, inspect, etc.) are auto-approved in Claude Code. Write commands (migration up, deploy, delete) still require your approval.
|
|
24
|
+
|
|
25
|
+
**Result: ~95% token reduction on schema exploration, zero permission prompts for reads, multi-environment support (dev/stage/prod) in one session.**
|
|
12
26
|
|
|
13
27
|
This package:
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
28
|
+
- **Guided install wizard** — checks/installs Supabase CLI, logs you in, discovers projects + branches, fetches API keys, configures environments
|
|
29
|
+
- **Schema snapshot** — caches your entire database schema locally (SQLite + FTS5 + markdown) so your agent never runs SQL to explore tables again
|
|
30
|
+
- **Full DB admin skill doc** — teaches your agent every Supabase command: CRUD via REST API, migrations, DDL, inspect, storage, edge functions, branches, backups
|
|
31
|
+
- **Security model** — API keys in `.env` only (never in CLAUDE.md), gitignored, mode 600
|
|
32
|
+
- **Pre-approved permissions** — 23 read-only commands auto-approved in Claude Code, write commands still require approval
|
|
33
|
+
- **Nightly auto-refresh** — cron job keeps schema snapshot current
|
|
19
34
|
|
|
20
|
-
|
|
35
|
+
Two commands. Zero prompts after install.
|
|
21
36
|
|
|
22
37
|
## Install
|
|
23
38
|
|
|
@@ -27,74 +42,104 @@ npm install -g @m2015agg/supabase-skill
|
|
|
27
42
|
|
|
28
43
|
## Quick Start
|
|
29
44
|
|
|
30
|
-
### 1. Global Setup
|
|
45
|
+
### 1. Global Setup (one time)
|
|
31
46
|
|
|
32
47
|
```bash
|
|
33
48
|
supabase-skill install
|
|
34
49
|
```
|
|
35
50
|
|
|
36
|
-
Interactive wizard
|
|
37
|
-
1.
|
|
38
|
-
2.
|
|
39
|
-
3.
|
|
40
|
-
4.
|
|
41
|
-
5.
|
|
42
|
-
6.
|
|
43
|
-
7.
|
|
51
|
+
Interactive wizard (8 steps):
|
|
52
|
+
1. Check/install Supabase CLI (minimum v2.67.0)
|
|
53
|
+
2. Check/trigger login (opens browser if needed)
|
|
54
|
+
3. Discover projects + branches (auto-detects preview branches)
|
|
55
|
+
4. Tag each as `prod` / `stage` / `dev` / `skip`
|
|
56
|
+
5. Ask for database schema name (default: `public`)
|
|
57
|
+
6. Fetch API keys automatically (anon + service_role per environment)
|
|
58
|
+
7. Write config to `~/.config/supabase-skill/config.json` (mode 600)
|
|
59
|
+
8. Write skill doc to `~/.claude/CLAUDE.md`
|
|
44
60
|
|
|
45
61
|
```
|
|
46
62
|
$ supabase-skill install
|
|
47
63
|
|
|
48
|
-
|
|
49
|
-
|
|
64
|
+
╔══════════════════════════════════════╗
|
|
65
|
+
║ supabase-skill setup wizard ║
|
|
66
|
+
╚══════════════════════════════════════╝
|
|
50
67
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
2. My App Staging (tsrqponmlkjihgfedcba)
|
|
68
|
+
Step 1/5: Supabase CLI
|
|
69
|
+
✓ Found v2.78.1 (minimum: v2.67.0)
|
|
54
70
|
|
|
55
|
-
|
|
71
|
+
Step 2/5: Authentication
|
|
72
|
+
✓ Logged in
|
|
73
|
+
|
|
74
|
+
Step 3/5: Discovering projects & branches
|
|
75
|
+
1. My App Production (abcdefghijklmnopqrst) ✓
|
|
76
|
+
Checking branches... 1 found
|
|
77
|
+
└─ staging (tsrqponmlkjihgfedcba) ✓
|
|
78
|
+
|
|
79
|
+
Tag each environment (prod/stage/dev/skip):
|
|
56
80
|
My App Production → prod
|
|
57
|
-
|
|
81
|
+
My App Production [staging] → stage
|
|
82
|
+
Database schema name (default: public) → my_schema
|
|
83
|
+
|
|
84
|
+
Step 4/5: Fetching API keys
|
|
85
|
+
PROD (abcdefghijklmnopqrst)... ✓ anon + service_role keys saved
|
|
86
|
+
STAGE (tsrqponmlkjihgfedcba)... ✓ anon + service_role keys saved
|
|
58
87
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
~/.claude/CLAUDE.md: updated
|
|
88
|
+
Step 5/5: Writing configuration
|
|
89
|
+
✓ Config, CLAUDE.md, shell profile
|
|
62
90
|
|
|
63
|
-
Next: run `supabase-skill init`
|
|
91
|
+
Next: cd into your project and run `supabase-skill init`
|
|
64
92
|
```
|
|
65
93
|
|
|
66
|
-
### 2. Per-Project Setup
|
|
94
|
+
### 2. Per-Project Setup (per project directory)
|
|
67
95
|
|
|
68
96
|
```bash
|
|
69
97
|
cd your-project
|
|
70
98
|
supabase-skill init
|
|
71
99
|
```
|
|
72
100
|
|
|
73
|
-
|
|
74
|
-
1.
|
|
75
|
-
2.
|
|
76
|
-
3.
|
|
101
|
+
Runs 5 steps automatically — no prompts:
|
|
102
|
+
1. **CLAUDE.md** — skill doc with environment routing (no secrets)
|
|
103
|
+
2. **.env** — API keys per environment (gitignored, mode 600)
|
|
104
|
+
3. **Schema snapshot** — SQLite + markdown cache of all tables, columns, FKs, functions
|
|
105
|
+
4. **Claude permissions** — 23 read-only commands pre-approved (no more prompts)
|
|
106
|
+
5. **Nightly cron** — auto-refresh schema at 3am
|
|
107
|
+
|
|
108
|
+
Or do both in one shot from your project directory:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
supabase-skill install --init
|
|
112
|
+
```
|
|
77
113
|
|
|
78
114
|
### 3. Done
|
|
79
115
|
|
|
80
|
-
|
|
116
|
+
Claude now knows every Supabase command, which ref is prod vs stage, reads your schema from local files instead of running SQL, and doesn't prompt for read-only operations.
|
|
81
117
|
|
|
82
118
|
## Commands
|
|
83
119
|
|
|
84
|
-
|
|
120
|
+
### User Commands (you run these)
|
|
121
|
+
|
|
122
|
+
| Command | When |
|
|
123
|
+
|---------|------|
|
|
124
|
+
| `supabase-skill install` | One time — global wizard (CLI, login, envs, keys) |
|
|
125
|
+
| `supabase-skill install --init` | One time from project dir — global + project setup |
|
|
126
|
+
| `supabase-skill init` | Per project — full auto-setup (CLAUDE.md + .env + snapshot + approve + cron) |
|
|
127
|
+
| `supabase-skill envs` | Check configured environments |
|
|
128
|
+
| `supabase-skill cron --status` | Check nightly refresh status |
|
|
129
|
+
| `supabase-skill uninstall` | Remove from current project |
|
|
130
|
+
| `supabase-skill uninstall --global` | Remove from global CLAUDE.md |
|
|
131
|
+
|
|
132
|
+
### Agent Commands (Claude uses these — pre-approved, no prompts)
|
|
133
|
+
|
|
134
|
+
| Command | What it does |
|
|
85
135
|
|---------|-------------|
|
|
86
|
-
| `supabase-skill
|
|
87
|
-
| `supabase-skill
|
|
88
|
-
| `supabase-skill snapshot` | Snapshot DB schema to `.supabase-schema/` for fast agent lookups |
|
|
89
|
-
| `supabase-skill context <query>` | Full context: columns, FKs, related tables (2 levels), related functions |
|
|
90
|
-
| `supabase-skill table <name>` | Single table detail with relationships, functions, related summaries |
|
|
136
|
+
| `supabase-skill context <query>` | Full context: columns, FKs, related tables (2 levels), functions |
|
|
137
|
+
| `supabase-skill table <name>` | Single table deep dive with relationships + related summaries |
|
|
91
138
|
| `supabase-skill columns [name]` | Search columns by name, `--type`, `--fk`, `--pk`, `--table` |
|
|
92
|
-
| `supabase-skill search <query>` |
|
|
93
|
-
| `supabase-skill
|
|
94
|
-
| `supabase
|
|
95
|
-
| `supabase
|
|
96
|
-
| `supabase-skill uninstall` | Remove skill doc from current project's CLAUDE.md files |
|
|
97
|
-
| `supabase-skill uninstall --global` | Remove from `~/.claude/CLAUDE.md` |
|
|
139
|
+
| `supabase-skill search <query>` | FTS5-powered search across tables, columns, functions, FKs |
|
|
140
|
+
| `supabase-skill snapshot` | Refresh schema cache (auto-runs after DDL changes) |
|
|
141
|
+
| `supabase inspect db *` | 12 database inspection commands (table-stats, locks, etc.) |
|
|
142
|
+
| `supabase migration list` | Compare local vs remote migrations |
|
|
98
143
|
|
|
99
144
|
## What It Writes to CLAUDE.md
|
|
100
145
|
|
|
@@ -120,31 +165,37 @@ All commands support `-o json` for structured output.
|
|
|
120
165
|
- **Default**: Use STAGE for testing. PROD requires explicit approval.
|
|
121
166
|
```
|
|
122
167
|
|
|
123
|
-
It covers **every
|
|
168
|
+
It covers **20 sections** — every Supabase CLI capability plus REST API operations:
|
|
124
169
|
|
|
125
|
-
| Section |
|
|
126
|
-
|
|
127
|
-
| **
|
|
128
|
-
| **
|
|
170
|
+
| Section | What it teaches the agent |
|
|
171
|
+
|---------|-------------------------|
|
|
172
|
+
| **CLI Flag Reference** | Which commands use `--linked` vs `--project-ref` (agents get this wrong constantly) |
|
|
173
|
+
| **Environment Routing** | "stage" → correct ref, "prod" → correct ref + approval required |
|
|
174
|
+
| **Data Operations (REST API)** | Full CRUD: SELECT with 12 filter operators, INSERT, UPDATE, UPSERT, DELETE, COUNT |
|
|
175
|
+
| **Migrations** | `new`, `list`, `up`, `down`, `repair`, `squash`, `fetch` |
|
|
176
|
+
| **DDL via Migrations** | CREATE/ALTER/DROP TABLE, VIEW, INDEX, FUNCTION, RLS policies, triggers, enums |
|
|
129
177
|
| **Schema Management** | `db diff`, `dump`, `pull`, `push`, `lint` |
|
|
130
|
-
| **Database Inspection** | All 12 `inspect db` commands
|
|
131
|
-
| **Storage** | `
|
|
132
|
-
| **Edge Functions** | `
|
|
133
|
-
| **
|
|
134
|
-
| **
|
|
135
|
-
| **
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
178
|
+
| **Database Inspection** | All 12 `inspect db` commands + `inspect report` |
|
|
179
|
+
| **Storage** | `ls`, `cp`, `rm`, `mv` (with `--experimental` flag) |
|
|
180
|
+
| **Edge Functions** | `list`, `deploy`, `delete`, `new`, `download`, `serve` |
|
|
181
|
+
| **Branches** | `list`, `create`, `delete`, `get`, `pause`, `unpause` |
|
|
182
|
+
| **Backups** | `list`, `restore` (PITR) |
|
|
183
|
+
| **Project Management** | `projects list/api-keys`, `secrets list/set`, `postgres-config` |
|
|
184
|
+
| **Code Generation** | `gen types` (TypeScript from schema) |
|
|
185
|
+
| **Schema Snapshot** | All `supabase-skill` query commands for local schema exploration |
|
|
186
|
+
| **Safety Rules** | Never mutate prod without approval, always specify ref, test on stage first |
|
|
187
|
+
|
|
188
|
+
### Security Model
|
|
189
|
+
|
|
190
|
+
| What | Where | Visible to agent? |
|
|
191
|
+
|------|-------|-------------------|
|
|
192
|
+
| Project refs (not secrets) | CLAUDE.md | Yes — agent needs these for `--project-ref` |
|
|
193
|
+
| Environment routing | CLAUDE.md | Yes — agent needs to know "stage" → which ref |
|
|
194
|
+
| API keys (anon + service_role) | `.env` only | Only when agent runs `source .env` |
|
|
195
|
+
| Config with keys | `~/.config/supabase-skill/config.json` | No — mode 600, only used by `init` |
|
|
196
|
+
| Schema snapshot | `.supabase-schema/` | Yes — that's the whole point |
|
|
197
|
+
|
|
198
|
+
**Rule**: Secrets never go in CLAUDE.md. Agent reads `.env` when it needs direct API access.
|
|
148
199
|
|
|
149
200
|
## Schema Snapshot (CodeGraph for Your Database)
|
|
150
201
|
|
|
@@ -374,9 +425,19 @@ And that's just one project. The savings compound across every conversation, eve
|
|
|
374
425
|
|
|
375
426
|
## Requirements
|
|
376
427
|
|
|
377
|
-
- [Supabase CLI](https://supabase.com/docs/guides/cli/getting-started) installed
|
|
378
|
-
- Logged in via `supabase login`
|
|
379
428
|
- Node.js 18+
|
|
429
|
+
- [Supabase CLI](https://supabase.com/docs/guides/cli/getting-started) v2.67.0+ (wizard installs it if missing)
|
|
430
|
+
- Supabase account with at least one project
|
|
431
|
+
|
|
432
|
+
## Uninstall
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
supabase-skill uninstall --global # remove from ~/.claude/CLAUDE.md
|
|
436
|
+
supabase-skill uninstall # remove from current project
|
|
437
|
+
supabase-skill approve --remove # remove Claude permissions
|
|
438
|
+
supabase-skill cron --remove # remove nightly cron
|
|
439
|
+
npm uninstall -g @m2015agg/supabase-skill
|
|
440
|
+
```
|
|
380
441
|
|
|
381
442
|
## License
|
|
382
443
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
import { join, dirname } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
function write(msg) {
|
|
7
|
+
process.stdout.write(msg);
|
|
8
|
+
}
|
|
9
|
+
function getCurrentVersion() {
|
|
10
|
+
try {
|
|
11
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
12
|
+
const pkg = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf-8"));
|
|
13
|
+
return pkg.version;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return "unknown";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function updateCommand() {
|
|
20
|
+
return new Command("update")
|
|
21
|
+
.description("Update supabase-skill to the latest version")
|
|
22
|
+
.option("--check", "Check for updates without installing")
|
|
23
|
+
.action((opts) => {
|
|
24
|
+
const current = getCurrentVersion();
|
|
25
|
+
// Check latest on npm
|
|
26
|
+
write(` Current version: v${current}\n`);
|
|
27
|
+
write(" Checking npm for updates... ");
|
|
28
|
+
let latest;
|
|
29
|
+
try {
|
|
30
|
+
latest = execSync("npm view @m2015agg/supabase-skill version 2>/dev/null", {
|
|
31
|
+
encoding: "utf-8",
|
|
32
|
+
timeout: 10000,
|
|
33
|
+
}).trim();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
write("failed (couldn't reach npm registry)\n");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (latest === current) {
|
|
40
|
+
write(`✓ already on latest (v${current})\n\n`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
write(`v${latest} available\n`);
|
|
44
|
+
if (opts.check) {
|
|
45
|
+
write(`\n Run \`supabase-skill update\` to install v${latest}\n\n`);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
write(` Updating v${current} → v${latest}...\n`);
|
|
49
|
+
try {
|
|
50
|
+
execSync("npm install -g @m2015agg/supabase-skill@latest 2>&1", {
|
|
51
|
+
encoding: "utf-8",
|
|
52
|
+
timeout: 60000,
|
|
53
|
+
stdio: "inherit",
|
|
54
|
+
});
|
|
55
|
+
write(`\n ✓ Updated to v${latest}\n\n`);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
write(" ✗ Update failed. Try: npm install -g @m2015agg/supabase-skill@latest\n\n");
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,CAAC,IAAyB,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAEpC,sBAAsB;QACtB,KAAK,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAExC,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,uDAAuD,EAAE;gBACzE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,yBAAyB,OAAO,OAAO,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,KAAK,CAAC,IAAI,MAAM,cAAc,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,iDAAiD,MAAM,MAAM,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,KAAK,CAAC,eAAe,OAAO,OAAO,MAAM,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,QAAQ,CAAC,qDAAqD,EAAE;gBAC9D,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,KAAK,CAAC,qBAAqB,MAAM,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,4EAA4E,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -12,11 +12,12 @@ import { columnsCommand } from "./commands/columns.js";
|
|
|
12
12
|
import { tableCommand } from "./commands/table.js";
|
|
13
13
|
import { cronCommand } from "./commands/cron.js";
|
|
14
14
|
import { approveCommand } from "./commands/approve.js";
|
|
15
|
+
import { updateCommand } from "./commands/update.js";
|
|
15
16
|
const program = new Command();
|
|
16
17
|
program
|
|
17
18
|
.name("supabase-skill")
|
|
18
19
|
.description("Supabase CLI skill for AI agents. Installs comprehensive CLI instructions into CLAUDE.md with multi-environment support.")
|
|
19
|
-
.version("0.6.
|
|
20
|
+
.version("0.6.2");
|
|
20
21
|
program.addCommand(installCommand());
|
|
21
22
|
program.addCommand(initCommand());
|
|
22
23
|
program.addCommand(docsCommand());
|
|
@@ -29,5 +30,6 @@ program.addCommand(columnsCommand());
|
|
|
29
30
|
program.addCommand(tableCommand());
|
|
30
31
|
program.addCommand(cronCommand());
|
|
31
32
|
program.addCommand(approveCommand());
|
|
33
|
+
program.addCommand(updateCommand());
|
|
32
34
|
program.parse();
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,WAAW,CAAC,0HAA0H,CAAC;KACvI,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;AAEpC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m2015agg/supabase-skill",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Supabase CLI skill for AI agents. Installs comprehensive CLI instructions into CLAUDE.md, AGENTS.md, or .cursorrules with multi-environment support.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|