insta 0.0.26 → 0.0.27

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 CHANGED
@@ -79,8 +79,8 @@ plane's address, not the CLI's loopback address.
79
79
  ### Services are branch-scoped
80
80
 
81
81
  A project holds services (`postgres`, `storage`, `compute`) and each branch owns its own
82
- set. `insta branch create feature-x` forks the parent's services: a Neon branch per
83
- Postgres, a copy-on-write bucket per storage, a clone of every compute service. From there
82
+ set. `insta branch create feature-x` forks the parent's services: a copy-on-write database
83
+ branch per Postgres, a copy-on-write bucket per storage, a clone of every compute service. From there
84
84
  the two branches diverge independently. A project is capped at 10 branches.
85
85
 
86
86
  ### Credentials come from the secret seam, not a file you maintain
@@ -207,8 +207,9 @@ build never reaches a production installer.
207
207
  The `insta` skill and its task guides live in
208
208
  [InsForge/insta-skills](https://github.com/InsForge/insta-skills). `insta setup agent`
209
209
  installs it user-globally for every coding agent on the machine. `insta project create` and
210
- `insta project link` additionally install the stack skills (Neon Postgres, Tigris, Better
211
- Auth) into the project, along with the `insta observe` credential-audit hook.
210
+ `insta project link` additionally install the stack skills (Tigris, Better Auth) into the
211
+ project, along with the `insta observe` credential-audit hook. Postgres needs no stack
212
+ skill — it's plain Postgres, reached directly via `DATABASE_URL`.
212
213
 
213
214
  ## Contributing
214
215
 
@@ -3,7 +3,7 @@
3
3
  // every agent the skills tool knows: the skill is pure product knowledge with brand-gated
4
4
  // triggers — no project state in it (the project binding is carried by ./.insta/project.json
5
5
  // at command time), so one machine-level copy is strictly better than per-project copies.
6
- // Stack skills (neon/tigris/better-auth) intentionally stay per-project: their presence in a
6
+ // Stack skills (tigris/better-auth) intentionally stay per-project: their presence in a
7
7
  // project doubles as its stack manifest — that install happens on `project create|link`.
8
8
  import { spawn } from 'node:child_process';
9
9
  import os from 'node:os';
@@ -1,6 +1,7 @@
1
1
  // Install the related agent skills into a linked project so the developer's coding agent has
2
- // context for what InstaCloud provisions — the `insta` CLI itself plus the three services you build
3
- // directly against (Neon Postgres, Tigris storage, Better Auth). Runs `npx skills add`
2
+ // context for what InstaCloud provisions — the `insta` CLI itself plus the services you build
3
+ // directly against (Tigris storage, Better Auth). Postgres gets no vendor skill: instadb is
4
+ // plain Postgres, and agents talk to it directly via DATABASE_URL. Runs `npx skills add`
4
5
  // (vercel-labs/skills) fully non-interactively. Best-effort: a failure (offline, npx missing, a
5
6
  // repo moved) prints a manual fallback and never blocks or fails the host command — same contract
6
7
  // as the observe-hook install.
@@ -13,8 +14,8 @@ import { DEFAULT_ENV, ENVS } from './env.js';
13
14
  // Codex → .agents/skills/ (.github/skills/ is the third well-known dir). These are regenerable
14
15
  // agent context, not the developer's source — keep them out of git.
15
16
  const SKILL_DIRS = ['.claude/skills/', '.agents/skills/', '.github/skills/'];
16
- // `skills` prints a full-screen ASCII banner at the top of every `add`, so our 4 invocations
17
- // would stack 4 banners. It skips the banner when it detects an agent driving it rather than a
17
+ // `skills` prints a full-screen ASCII banner at the top of every `add`, so our 3 invocations
18
+ // would stack 3 banners. It skips the banner when it detects an agent driving it rather than a
18
19
  // human — AI_AGENT is its first-checked signal (any non-empty value ⇒ agent mode). Setting it is
19
20
  // honest here (this IS programmatic, not an interactive prompt) and, because we already pin the
20
21
  // agents/skills/-y, has no effect on the install beyond quieting the banner. Preserve a caller's
@@ -32,10 +33,9 @@ const defaultRunner = (cmd, args, inherit = false) => new Promise((resolve) => {
32
33
  const AGENT_FLAGS = ['-a', 'claude-code', '-a', 'codex', '-y', '--copy'];
33
34
  // `instaSpec` is the insta skill source for the resolved environment (`owner/repo[@ref]`), so a
34
35
  // project created against staging gets the staging skill text. The third-party stack skills are
35
- // environment-independent — they document Neon/Tigris/Better Auth, not our control plane.
36
+ // environment-independent — they document Tigris/Better Auth, not our control plane.
36
37
  const skillTargets = (instaSpec) => [
37
38
  { label: 'insta', args: ['skills', 'add', instaSpec, '-s', 'insta', ...AGENT_FLAGS] },
38
- { label: 'neon-postgres', args: ['skills', 'add', 'neondatabase/agent-skills', '-s', 'neon-postgres', ...AGENT_FLAGS] },
39
39
  { label: 'tigris', args: ['skills', 'add', 'tigrisdata/skills',
40
40
  '-s', 'tigris-object-operations', '-s', 'file-storage', '-s', 'tigris-sdk-guide',
41
41
  '-s', 'tigris-security-access-control', '-s', 'tigris-image-optimization',
@@ -63,7 +63,7 @@ export async function installSkills(deps) {
63
63
  targets = skillTargets(skills);
64
64
  }
65
65
  catch { /* keep production defaults */ }
66
- print(' installing related agent skills (insta, neon-postgres, tigris, better-auth) …');
66
+ print(' installing related agent skills (insta, tigris, better-auth) …');
67
67
  for (const s of targets) {
68
68
  // Don't stream: the `skills` tool's clack UI (clone spinner, banners) is noise. Run it
69
69
  // silent (stdio 'ignore') and let the per-skill ✓/failed line below be the clean output —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "insta",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "type": "module",
5
5
  "description": "InstaCloud CLI — a thin client of the platform control-plane API.",
6
6
  "keywords": [