gipity 1.0.339 → 1.0.355

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.
Files changed (62) hide show
  1. package/README.md +4 -4
  2. package/dist/__tests__/cli-cmd-job.test.d.ts +1 -0
  3. package/dist/__tests__/cli-cmd-job.test.js +204 -0
  4. package/dist/__tests__/cli-cmd-job.test.js.map +1 -0
  5. package/dist/__tests__/cli-cmd-page.test.d.ts +1 -0
  6. package/dist/__tests__/cli-cmd-page.test.js +90 -0
  7. package/dist/__tests__/cli-cmd-page.test.js.map +1 -0
  8. package/dist/__tests__/cli-cmd-workflow.test.js +2 -2
  9. package/dist/__tests__/cli-cmd-workflow.test.js.map +1 -1
  10. package/dist/__tests__/flag-aliases.test.js +20 -0
  11. package/dist/__tests__/flag-aliases.test.js.map +1 -1
  12. package/dist/__tests__/template-vars.test.d.ts +1 -0
  13. package/dist/__tests__/template-vars.test.js +119 -0
  14. package/dist/__tests__/template-vars.test.js.map +1 -0
  15. package/dist/adopt-cwd.js +1 -0
  16. package/dist/adopt-cwd.js.map +1 -1
  17. package/dist/api.d.ts +6 -0
  18. package/dist/api.js +11 -0
  19. package/dist/api.js.map +1 -1
  20. package/dist/commands/add.js +139 -12
  21. package/dist/commands/add.js.map +1 -1
  22. package/dist/commands/credits.js +21 -0
  23. package/dist/commands/credits.js.map +1 -1
  24. package/dist/commands/job.d.ts +2 -0
  25. package/dist/commands/job.js +251 -0
  26. package/dist/commands/job.js.map +1 -0
  27. package/dist/commands/logs.js +79 -0
  28. package/dist/commands/logs.js.map +1 -1
  29. package/dist/commands/page-eval.d.ts +2 -0
  30. package/dist/commands/page-eval.js +31 -0
  31. package/dist/commands/page-eval.js.map +1 -0
  32. package/dist/commands/page-inspect.js +91 -62
  33. package/dist/commands/page-inspect.js.map +1 -1
  34. package/dist/commands/page-screenshot.js +1 -1
  35. package/dist/commands/page-screenshot.js.map +1 -1
  36. package/dist/commands/page.d.ts +2 -0
  37. package/dist/commands/page.js +18 -0
  38. package/dist/commands/page.js.map +1 -0
  39. package/dist/commands/project.js +1 -0
  40. package/dist/commands/project.js.map +1 -1
  41. package/dist/commands/workflow.js +63 -16
  42. package/dist/commands/workflow.js.map +1 -1
  43. package/dist/flag-aliases.d.ts +7 -2
  44. package/dist/flag-aliases.js +41 -2
  45. package/dist/flag-aliases.js.map +1 -1
  46. package/dist/index.js +5 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/knowledge.d.ts +3 -3
  49. package/dist/knowledge.js +13 -10
  50. package/dist/knowledge.js.map +1 -1
  51. package/dist/project-setup.d.ts +3 -0
  52. package/dist/project-setup.js +24 -0
  53. package/dist/project-setup.js.map +1 -1
  54. package/dist/prompts.d.ts +6 -6
  55. package/dist/prompts.js +6 -6
  56. package/dist/prompts.js.map +1 -1
  57. package/dist/setup.js +1 -1
  58. package/dist/setup.js.map +1 -1
  59. package/dist/template-vars.d.ts +32 -0
  60. package/dist/template-vars.js +156 -0
  61. package/dist/template-vars.js.map +1 -0
  62. package/package.json +3 -3
@@ -3,10 +3,7 @@ import { get, post, put, del } from '../api.js';
3
3
  import { requireConfig } from '../config.js';
4
4
  import { success, error as clrError, muted, bold } from '../colors.js';
5
5
  import { run, printList, printResult } from '../helpers/index.js';
6
- export const workflowCommand = new Command('workflow')
7
- .description('Manage workflows')
8
- .option('--json', 'Output as JSON')
9
- .action((opts) => run('Workflow', async () => {
6
+ async function listWorkflows(opts) {
10
7
  const res = await get('/workflows');
11
8
  if (opts.json) {
12
9
  console.log(JSON.stringify(res));
@@ -23,7 +20,16 @@ export const workflowCommand = new Command('workflow')
23
20
  const line = `${bold(w.name)} [${statusText}] ${muted(w.trigger_type)}${cron}${proj}`;
24
21
  return w.description ? `${line}\n ${muted(w.description)}` : line;
25
22
  });
26
- }));
23
+ }
24
+ export const workflowCommand = new Command('workflow')
25
+ .description('Manage workflows')
26
+ .option('--json', 'Output as JSON')
27
+ .action((opts) => run('Workflow', () => listWorkflows(opts)));
28
+ workflowCommand
29
+ .command('list')
30
+ .description('List workflows')
31
+ .option('--json', 'Output as JSON')
32
+ .action((opts) => run('List', () => listWorkflows(opts)));
27
33
  workflowCommand
28
34
  .command('info <name>')
29
35
  .description('Show workflow details')
@@ -71,7 +77,9 @@ workflowCommand
71
77
  ? `${((new Date(r.completed_at).getTime() - new Date(r.started_at).getTime()) / 1000).toFixed(1)}s`
72
78
  : 'running';
73
79
  const statusColor = r.status === 'completed' ? success : r.status === 'failed' ? clrError : muted;
74
- return `${muted(r.short_guid)} ${statusColor(r.status)} ${dur} ${r.total_tokens} tokens ${muted(new Date(r.started_at).toLocaleString())}`;
80
+ const line = `${muted(r.short_guid)} ${statusColor(r.status)} ${dur} ${r.total_tokens} tokens ${muted(new Date(r.started_at).toLocaleString())}`;
81
+ // Surface why a run failed inline so you don't have to hit the REST API.
82
+ return r.error_message ? `${line}\n ${clrError(r.error_message)}` : line;
75
83
  });
76
84
  }));
77
85
  workflowCommand
@@ -80,8 +88,12 @@ workflowCommand
80
88
  .option('--json', 'Output as JSON')
81
89
  .action((name, opts) => run('Enable', async () => {
82
90
  const wf = await resolveWorkflow(name);
83
- await put(`/workflows/${wf.short_guid}`, { is_active: true });
84
- printResult(`Enabled "${wf.name}".`, opts, { enabled: wf.name });
91
+ const res = await put(`/workflows/${wf.short_guid}`, { is_active: true });
92
+ if (!res.data?.is_active) {
93
+ console.error(clrError(`Workflow "${wf.name}" is still inactive after enable — not enabled.`));
94
+ process.exit(1);
95
+ }
96
+ printResult(`Enabled "${wf.name}".`, opts, { enabled: wf.name, is_active: true });
85
97
  }));
86
98
  workflowCommand
87
99
  .command('disable <name>')
@@ -89,8 +101,12 @@ workflowCommand
89
101
  .option('--json', 'Output as JSON')
90
102
  .action((name, opts) => run('Disable', async () => {
91
103
  const wf = await resolveWorkflow(name);
92
- await put(`/workflows/${wf.short_guid}`, { is_active: false });
93
- printResult(`Disabled "${wf.name}".`, opts, { disabled: wf.name });
104
+ const res = await put(`/workflows/${wf.short_guid}`, { is_active: false });
105
+ if (res.data?.is_active) {
106
+ console.error(clrError(`Workflow "${wf.name}" is still active after disable — not disabled.`));
107
+ process.exit(1);
108
+ }
109
+ printResult(`Disabled "${wf.name}".`, opts, { disabled: wf.name, is_active: false });
94
110
  }));
95
111
  workflowCommand
96
112
  .command('create')
@@ -132,15 +148,46 @@ workflowCommand
132
148
  .action((name, opts) => run('Delete', async () => {
133
149
  const wf = await resolveWorkflow(name);
134
150
  await del(`/workflows/${wf.short_guid}`);
135
- printResult(`Deleted "${wf.name}".`, opts, { deleted: wf.name });
151
+ // Delete is a soft-delete (is_active → 0). Verify the targeted record
152
+ // actually went inactive rather than trusting the request was accepted.
153
+ const after = await get(`/workflows/${wf.short_guid}`);
154
+ if (after.data?.is_active) {
155
+ console.error(clrError(`Workflow "${wf.name}" (${wf.short_guid}) is still active — delete had no effect.`));
156
+ process.exit(1);
157
+ }
158
+ printResult(`Deleted "${wf.name}".`, opts, { deleted: wf.name, short_guid: wf.short_guid });
136
159
  }));
160
+ // Resolve a workflow by name within the linked project (like `gipity fn`), or
161
+ // by short_guid anywhere. Names are unique per active project workflow (DB
162
+ // constraint), so a bare name in this project is unambiguous; the same name in
163
+ // another project is a different workflow and simply isn't matched here.
137
164
  async function resolveWorkflow(name) {
138
- const res = await get('/workflows');
139
- const match = res.data.find(w => w.name === name || w.short_guid === name);
140
- if (!match) {
141
- console.error(clrError(`Workflow "${name}" not found.`));
165
+ const { projectGuid } = requireConfig();
166
+ const res = await get(`/projects/${projectGuid}/workflows`);
167
+ const list = res.data ?? [];
168
+ // Exact short_guid match wins — unambiguous override.
169
+ const byGuid = list.find(w => w.short_guid === name);
170
+ if (byGuid)
171
+ return byGuid;
172
+ const byName = list.filter(w => w.name === name);
173
+ if (byName.length === 0) {
174
+ // Fall back to a global short_guid lookup (e.g. account-level workflows).
175
+ const all = await get('/workflows');
176
+ const global = (all.data ?? []).find(w => w.short_guid === name);
177
+ if (global)
178
+ return global;
179
+ console.error(clrError(`Workflow "${name}" not found in this project.`));
142
180
  process.exit(1);
143
181
  }
144
- return match;
182
+ if (byName.length === 1)
183
+ return byName[0];
184
+ // More than one (an active + soft-deleted carrying the same name): prefer the
185
+ // active one; refuse if still ambiguous.
186
+ const active = byName.filter(w => w.is_active);
187
+ if (active.length === 1)
188
+ return active[0];
189
+ console.error(clrError(`${byName.length} workflows named "${name}" in this project — pass a short_guid:\n` +
190
+ byName.map(w => ` ${w.short_guid}${w.is_active ? '' : ' (inactive)'}`).join('\n')));
191
+ process.exit(1);
145
192
  }
146
193
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/commands/workflow.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
+ import type { Command } from 'commander';
1
2
  /**
2
3
  * Hidden long-flag aliases. Keys are tokens a user or LLM might type; values
3
4
  * are the canonical long flag commander knows about. Aliases are applied by
4
5
  * rewriting argv before commander parses, so `--help` output is unchanged.
5
6
  *
6
7
  * Rules for adding an alias:
7
- * - Must be globally unambiguous across all subcommands.
8
8
  * - Must be a plausible LLM guess, not a typo fix.
9
9
  * - Never alias short flags.
10
+ * - May collide with a real flag on a specific command (e.g. `--from` is a
11
+ * friendly alias for `--since` on `logs`, but a real required option on
12
+ * `workflow create`). Pass the resolved `program` to normalizeAliases and a
13
+ * token is left untouched whenever the command it targets declares it for
14
+ * real — so the real option always wins on the command that owns it.
10
15
  */
11
16
  export declare const FLAG_ALIASES: Record<string, string>;
12
- export declare function normalizeAliases(argv: string[]): string[];
17
+ export declare function normalizeAliases(argv: string[], program?: Command): string[];
@@ -4,9 +4,13 @@
4
4
  * rewriting argv before commander parses, so `--help` output is unchanged.
5
5
  *
6
6
  * Rules for adding an alias:
7
- * - Must be globally unambiguous across all subcommands.
8
7
  * - Must be a plausible LLM guess, not a typo fix.
9
8
  * - Never alias short flags.
9
+ * - May collide with a real flag on a specific command (e.g. `--from` is a
10
+ * friendly alias for `--since` on `logs`, but a real required option on
11
+ * `workflow create`). Pass the resolved `program` to normalizeAliases and a
12
+ * token is left untouched whenever the command it targets declares it for
13
+ * real — so the real option always wins on the command that owns it.
10
14
  */
11
15
  export const FLAG_ALIASES = {
12
16
  '--out': '--output',
@@ -28,17 +32,52 @@ export const FLAG_ALIASES = {
28
32
  '--after': '--since',
29
33
  '--delay': '--wait',
30
34
  };
31
- export function normalizeAliases(argv) {
35
+ export function normalizeAliases(argv, program) {
36
+ // Flags the targeted command declares for real — never alias these, so a
37
+ // command's own option always wins over a global guess.
38
+ const realFlags = program ? collectRealFlags(argv, program) : new Set();
32
39
  return argv.map(tok => {
33
40
  if (!tok.startsWith('--'))
34
41
  return tok;
35
42
  const eq = tok.indexOf('=');
36
43
  if (eq > 0) {
37
44
  const name = tok.slice(0, eq);
45
+ if (realFlags.has(name))
46
+ return tok;
38
47
  const canonical = FLAG_ALIASES[name];
39
48
  return canonical ? `${canonical}${tok.slice(eq)}` : tok;
40
49
  }
50
+ if (realFlags.has(tok))
51
+ return tok;
41
52
  return FLAG_ALIASES[tok] ?? tok;
42
53
  });
43
54
  }
55
+ /**
56
+ * Resolve the deepest subcommand argv targets (descending program → command →
57
+ * subcommand by name/alias) and return every long flag declared on it and its
58
+ * ancestors. Used to suppress an alias when the resolved command owns that flag.
59
+ */
60
+ function collectRealFlags(argv, program) {
61
+ // process.argv is [node, script, ...args]; start scanning at the first arg.
62
+ const args = argv.slice(2);
63
+ let cmd = program;
64
+ const chain = [program];
65
+ for (const tok of args) {
66
+ if (tok.startsWith('-'))
67
+ break; // first flag ends command resolution
68
+ const next = cmd.commands.find(c => c.name() === tok || c.aliases().includes(tok));
69
+ if (!next)
70
+ break;
71
+ cmd = next;
72
+ chain.push(next);
73
+ }
74
+ const flags = new Set();
75
+ for (const c of chain) {
76
+ for (const opt of c.options) {
77
+ if (opt.long)
78
+ flags.add(opt.long);
79
+ }
80
+ }
81
+ return flags;
82
+ }
44
83
  //# sourceMappingURL=flag-aliases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flag-aliases.js","sourceRoot":"","sources":["../src/flag-aliases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,YAAY;IAC/B,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,QAAQ;CACpB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC;QACtC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1D,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"flag-aliases.js","sourceRoot":"","sources":["../src/flag-aliases.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -28,10 +28,10 @@ import { fileCommand } from './commands/file.js';
28
28
  import { claudeCommand } from './commands/claude.js';
29
29
  import { addCommand } from './commands/add.js';
30
30
  import { logsCommand } from './commands/logs.js';
31
- import { pageInspectCommand } from './commands/page-inspect.js';
32
- import { pageScreenshotCommand } from './commands/page-screenshot.js';
31
+ import { pageCommand } from './commands/page.js';
33
32
  import { recordsCommand } from './commands/records.js';
34
33
  import { fnCommand } from './commands/fn.js';
34
+ import { jobCommand } from './commands/job.js';
35
35
  import { rbacCommand } from './commands/rbac.js';
36
36
  import { auditCommand } from './commands/audit.js';
37
37
  import { emailCommand } from './commands/email.js';
@@ -95,8 +95,8 @@ const commonGroup = [skillCommand, projectCommand, addCommand, deployCommand];
95
95
  const connectGroup = [claudeCommand, relayCommand];
96
96
  const projectGroup = [domainCommand, statusCommand, initCommand];
97
97
  const filesGroup = [fileCommand, syncCommand, pushCommand, uploadCommand];
98
- const appBuildingGroup = [testCommand, fnCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
99
- const utilitiesGroup = [pageInspectCommand, pageScreenshotCommand, sandboxCommand, generateCommand, emailCommand, gmailCommand, locationCommand];
98
+ const appBuildingGroup = [testCommand, fnCommand, jobCommand, dbCommand, logsCommand, workflowCommand, realtimeCommand, rbacCommand, auditCommand, recordsCommand];
99
+ const utilitiesGroup = [pageCommand, sandboxCommand, generateCommand, emailCommand, gmailCommand, locationCommand];
100
100
  const agentGroup = [chatCommand, memoryCommand, agentCommand, approvalCommand];
101
101
  const setupGroup = [loginCommand, logoutCommand, creditsCommand, planCommand, doctorCommand, updateCommand, uninstallCommand];
102
102
  const HELP_SECTIONS = [
@@ -182,5 +182,5 @@ if (mappedCmd) {
182
182
  process.exit(0);
183
183
  }
184
184
  }
185
- program.parse(normalizeAliases(process.argv));
185
+ program.parse(normalizeAliases(process.argv, program));
186
186
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Source: platform/docs/knowledge/*.md + docs/skills/*.md frontmatter + gipity-overview.ts
6
6
  * Run `just sync-knowledge` to refresh.
7
7
  */
8
- export declare const BUILD_VS_NON_BUILD_RULE = "## When to add a template\nIf the user wants a deployable app (web, game, API): run `gipity add <template>` before writing any files. A template wires up `gipity.yaml`, deploy config, and sync; hand-written files miss all of it.\nIf it's a one-off task (analysis, media, data, research): skip it - use `gipity sandbox run` or work with files directly.\nIf ambiguous: ask one short clarifying question.\n\nTemplates:\n - `web-simple` - Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool\n - `web-fullstack` - Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel\n - `web-vision-cam` - Live camera app with gesture, pose, or object detection - hand-tracking input, fitness/pose feedback, object-aware UI; on-device, no upload\n - `2d-game` - Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)\n - `3d-engine` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top\n - `3d-world` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)\n - `api` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend\nWhen unsure, default to `web-simple`. After adding the template, edit the generated files, then `gipity deploy dev`.\nOnly skip this on a build request if the user explicitly says not to.\n\nHidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):\n - `app-itsm` - IT Service Management app (helpdesk, ticketing, incident management).\n\nKits are reusable building blocks added to an existing app, not whole templates - their files land in `src/packages/<name>/`:\n - `gipity add realtime` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.\n - `gipity add web-vision-mediapipe` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.";
9
- export declare const SKILLS_CONTENT = "# Gipity Integration\n\nGipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.\n\nThis session is connected to a Gipity project. Prefer the cheapest option that works - CLI and sandbox are instant and free, app services are runtime HTTP calls, `gipity chat` burns LLM tokens:\n\n1. CLI commands (fast, no agent overhead). The `gipity` CLI covers add, deploy, db, fn, logs, browser, sync, memory, skill, and more. All commands support `--json`.\n2. Cloud sandbox via `gipity sandbox run` - Docker container with pre-installed tools for media (ffmpeg, ImageMagick, sox), documents (pandoc, LibreOffice), and data (pandas, matplotlib, sqlite3). Run `gipity skill read sandbox-tools` for the full toolkit. No network from inside the sandbox - fetch what you need before sending it in.\n3. App services - runtime HTTP endpoints your deployed app calls directly at `https://a.gipity.ai/api/<PROJECT_GUID>/services/*`. Available: LLM, TTS, image, sound, music, transcribe, video, file upload, realtime, location. Load the matching skill (`app-llm`, `app-tts`, etc.) before writing service code - they have the schemas, auth pattern, and common-mistake guards. For one-off generation during development, prefer `gipity generate <image|video|...>` or `gipity chat`.\n4. Delegate to Gip (`gipity chat \"<task>\"`) - only when the work genuinely needs agent reasoning or a tool not in the CLI, sandbox, or app services. Required for: Twitter/X search, Gmail, calendar, push notifications, video understanding, audio source isolation, cross-model second opinions, multi-step orchestration. Don't use `gipity chat` for anything the sandbox can do - it's slower and burns tokens.\n\nYou are the developer. Write files in this directory - they auto-sync to Gipity via hooks. Don't run `npm install`, `npm start`, `node`, or `python` locally; there is no local runtime. Code runs in the Gipity sandbox.\n\n## Use first-party services before reaching outside\n\nGipity ships its own services for things apps usually pull from a third party - auth, location and geocoding, LLM, image/audio/video generation, transcription, file uploads, realtime. Before you call an external API or add an npm package for one of these, run `gipity skill list` and look for a matching skill. First-party services need no API keys, cost less, and keep user data off third parties. Reach outside only when the catalog genuinely has no equivalent - and say so when you do.\n\n## When to add a template\n\nThe full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run `gipity add <template>` first (default `web-simple`); if it's a one-off task (analysis, PDFs, data work), use `gipity sandbox run` instead. To add a reusable building block to an existing app (e.g. multiplayer), `gipity add <kit>`.\n\nBuild loop: `gipity add` \u2192 edit files \u2192 `gipity deploy dev` \u2192 `gipity page-inspect <url>` \u2192 fix any errors \u2192 repeat until the definition of done is met.\n\n## CLI quick reference\n\nKey commands: `gipity add <template|kit>`, `gipity deploy dev`, `gipity sandbox run`, `gipity page-inspect <url>`, `gipity db query \"SQL\"`, `gipity fn call <name>`, `gipity logs fn <name>`, `gipity skill read <name>`.\nRun `gipity --help` for the full list. Use `--help` on any command for details.\n\n## Files and sync\n\nWrite files locally - hooks auto-push to Gipity on every save. Remote-generated files (images, audio from `gipity chat`) auto-pull. Use `gipity sync` if things get out of sync. Deletes are safe - use `rollback` with a datetime to undo, or `file_version_restore` for individual files.\n\n## Skills (detailed documentation)\n\nRun `gipity skill list` to see every skill. Run `gipity skill read <name>` to read one. Load the relevant skill before starting a task - they have the correct API patterns, code examples, and common mistakes.\n\nApp services skills (load before calling `/services/*` endpoints):\n- `app-audio` - sound effects, music, transcription\n- `app-auth` - sign in with Gipity, popup vs redirect\n- `app-files` - uploads, variants, file listing\n- `app-image` - providers, sizes, aspect ratios\n- `app-llm` - chat completions, streaming, image input\n- `app-location` - user location & reverse geocoding for deployed apps (first-party - no third-party geocoder)\n- `app-realtime` - Colyseus rooms, relay vs state\n- `app-tts` - voices, multi-speaker, languages\n- `app-video` - Veo models, aspect, resolution\n\nApp development skills:\n- `app-debugging` - debug a deployed app: page-inspect, screenshots, function logs\n- `app-development` - functions, database, and API\n- `deploy` - the deploy pipeline & gipity.yaml manifest\n- `web-app-basics` - coding guidelines, file structure, HTML/CSS/JS patterns\n\nTemplates:\n- `2d-game` - 2D game starter (Phaser 3)\n- `3d-engine` - minimal 3D multiplayer template (Three.js + Rapier + Colyseus)\n- `3d-world` - 3D multiplayer game starter (Three.js + Rapier + Colyseus)\n- `web-vision-mediapipe` - web-vision-mediapipe kit: MediaPipe gesture/pose/object detection, web only\n\nOther key skills:\n- `sandbox-tools` - cloud sandbox capabilities and pre-installed tools\n- `tts` - agent-side speech tools (different from the `app-tts` HTTP service)";
10
- export declare const DEFINITION_OF_DONE = "## Definition of done (build tasks)\n1. `gipity deploy dev` succeeds and you have a live URL.\n2. `gipity page-inspect <url>` returns no console errors and the page loads (HTTP 200, no blank screen).\n3. For apps with functions: `gipity test` passes.\n4. You told the user the live URL.\n\nIf any step fails, fix it before claiming done - do not report success on a broken deploy.";
8
+ export declare const BUILD_VS_NON_BUILD_RULE = "## When to add a template\nIf the user wants a deployable app (web, game, API): run `gipity add <template>` before writing any files. A template wires up `gipity.yaml`, deploy config, and sync; hand-written files miss all of it.\nIf it's a one-off task (analysis, media, data, research): skip it - use `gipity sandbox run` or work with files directly.\nIf ambiguous: ask one short clarifying question.\n\nTemplates:\n - `web-simple` - Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool\n - `web-fullstack` - Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel\n - `web-vision-cam` - Live camera app with gesture, pose, or object detection - hand-tracking input, fitness/pose feedback, object-aware UI; on-device, no upload\n - `2d-game` - Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)\n - `3d-engine` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top\n - `3d-world` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)\n - `api` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend\n - `karaoke-captions` - Forced-alignment app - karaoke captions, subtitle timing, language learning, dubbing alignment\nWhen unsure, default to `web-simple`. After adding the template, edit the generated files, then `gipity deploy dev`.\nOnly skip this on a build request if the user explicitly says not to.\n\nHidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):\n - `app-itsm` - IT Service Management app (helpdesk, ticketing, incident management).\n - `monitor` - Account-wide observability dashboard - auto-installed; rarely picked manually.\n\nKits are reusable building blocks added to an existing app, not whole templates - their files land in `src/packages/<name>/`:\n - `gipity add realtime` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.\n - `gipity add web-vision-mediapipe` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.\n - `gipity add chatbot` - Drop-in chatbot - configurable persona, scope guardrails, static knowledge (20k budget), streaming responses. Headless engine + bubble widget; bring your own UI if you want. Works in any app.\n - `gipity add audio-align` - Audio + lyrics -> word-level timing JSON. Demucs vocal isolation + MMS_FA forced alignment, runs as a Modal L4 GPU job (~$0.01 per 3-min song). For karaoke captions, subtitling, language learning, dubbing alignment.";
9
+ export declare const SKILLS_CONTENT = "# Gipity Integration\n\nGipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.\n\nThis session is connected to a Gipity project. Prefer the cheapest option that works - CLI and sandbox are instant and free, app services are runtime HTTP calls, `gipity chat` burns LLM tokens:\n\n1. CLI commands (fast, no agent overhead). The `gipity` CLI covers add, deploy, db, fn, logs, browser, sync, memory, skill, and more. All commands support `--json`.\n2. Cloud sandbox via `gipity sandbox run` - Docker container with pre-installed tools for media (ffmpeg, ImageMagick, sox), documents (pandoc, LibreOffice), and data (pandas, matplotlib, sqlite3). Run `gipity skill read sandbox-tools` for the full toolkit. No network from inside the sandbox - fetch what you need before sending it in.\n3. App services - runtime HTTP endpoints your deployed app calls directly at `https://a.gipity.ai/api/<PROJECT_GUID>/services/*`. Available: LLM, TTS, image, sound, music, transcribe, video, file upload, realtime, location. Load the matching skill (`app-llm`, `app-tts`, etc.) before writing service code - they have the schemas, auth pattern, and common-mistake guards. For one-off generation during development, prefer `gipity generate <image|video|...>` or `gipity chat`.\n4. Delegate to Gip (`gipity chat \"<task>\"`) - only when the work genuinely needs agent reasoning or a tool not in the CLI, sandbox, or app services. Required for: Twitter/X search, Gmail, calendar, push notifications, video understanding, audio source isolation, cross-model second opinions, multi-step orchestration. Don't use `gipity chat` for anything the sandbox can do - it's slower and burns tokens.\n\nYou are the developer. Write files in this directory - they auto-sync to Gipity via hooks. Don't run `npm install`, `npm start`, `node`, or `python` locally; there is no local runtime. Code runs in the Gipity sandbox.\n\n## Use first-party services before reaching outside\n\nGipity ships its own services for things apps usually pull from a third party - auth, location and geocoding, LLM, image/audio/video generation, transcription, file uploads, realtime. Before you call an external API or add an npm package for one of these, run `gipity skill list` and look for a matching skill. First-party services need no API keys, cost less, and keep user data off third parties. Reach outside only when the catalog genuinely has no equivalent - and say so when you do.\n\n## When to add a template\n\nThe full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run `gipity add <template>` first (default `web-simple`); if it's a one-off task (analysis, PDFs, data work), use `gipity sandbox run` instead. To add a reusable building block to an existing app (e.g. multiplayer), `gipity add <kit>`.\n\nBuild loop: `gipity add` \u2192 edit files \u2192 `gipity deploy dev` \u2192 `gipity page inspect <url>` \u2192 fix any errors \u2192 repeat until the definition of done is met.\n\n## CLI quick reference\n\nKey commands: `gipity add <template|kit>`, `gipity deploy dev`, `gipity sandbox run`, `gipity page inspect <url>`, `gipity db query \"SQL\"`, `gipity fn call <name>`, `gipity logs fn <name>`, `gipity skill read <name>`.\nRun `gipity --help` for the full list. Use `--help` on any command for details.\n\n## Files and sync\n\nWrite files locally - hooks auto-push to Gipity on every save. Remote-generated files (images, audio from `gipity chat`) auto-pull. Use `gipity sync` if things get out of sync. Deletes are safe - use `rollback` with a datetime to undo, or `file_version_restore` for individual files.\n\n## Skills (detailed documentation)\n\nRun `gipity skill list` to see every skill. Run `gipity skill read <name>` to read one. Load the relevant skill before starting a task - they have the correct API patterns, code examples, and common mistakes.\n\nApp services skills (load before calling `/services/*` endpoints):\n- `app-audio` - sound effects, music, transcription\n- `app-auth` - sign in with Gipity, popup vs redirect\n- `app-files` - uploads, variants, file listing\n- `app-image` - providers, sizes, aspect ratios\n- `app-llm` - chat completions, streaming, image input\n- `app-location` - user location & reverse geocoding for deployed apps (first-party - no third-party geocoder)\n- `app-realtime` - Colyseus rooms, relay vs state\n- `app-tts` - voices, multi-speaker, languages\n- `app-video` - Veo models, aspect, resolution\n\nApp development skills:\n- `app-debugging` - debug a deployed app: page inspect/eval, screenshots, function logs\n- `app-development` - functions, database, and API\n- `deploy` - the deploy pipeline & gipity.yaml manifest\n- `jobs` - long-running CPU + GPU compute jobs (Python / Node / bash)\n- `realtime-scheduled-app` - recipe: realtime presence/messages + DB function + scheduled poster, end-to-end\n- `web-app-basics` - coding guidelines, file structure, HTML/CSS/JS patterns\n\nKit skills (reusable building blocks - `gipity add <kit>`):\n- `audio-align` - the audio-align kit: forced alignment of audio + lyrics into word-level timing JSON\n\nOther key skills:\n- `sandbox-tools` - cloud sandbox capabilities and pre-installed tools\n- `tts` - agent-side speech tools (different from the `app-tts` HTTP service)";
10
+ export declare const DEFINITION_OF_DONE = "## Definition of done (build tasks)\n1. `gipity deploy dev` succeeds and you have a live URL.\n2. `gipity page inspect <url>` returns no console errors and the page loads (HTTP 200, no blank screen).\n3. For apps with functions: `gipity test` passes.\n4. You told the user the live URL.\n\nIf any step fails, fix it before claiming done - do not report success on a broken deploy.";
11
11
  export declare const GIPITY_TAGLINE = "The full-stack platform tuned for AI agents.";
package/dist/knowledge.js CHANGED
@@ -18,15 +18,19 @@ Templates:
18
18
  - \`3d-engine\` - Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own scene and mechanics on top
19
19
  - \`3d-world\` - Multiplayer world, 3D sandbox, shooter, exploration, virtual showroom (Three.js + Rapier + Colyseus)
20
20
  - \`api\` - Backend service, webhook, data pipeline, chatbot, cron job - no frontend
21
+ - \`karaoke-captions\` - Forced-alignment app - karaoke captions, subtitle timing, language learning, dubbing alignment
21
22
  When unsure, default to \`web-simple\`. After adding the template, edit the generated files, then \`gipity deploy dev\`.
22
23
  Only skip this on a build request if the user explicitly says not to.
23
24
 
24
25
  Hidden types (do NOT suggest unsolicited - use only when the user explicitly asks for that domain):
25
26
  - \`app-itsm\` - IT Service Management app (helpdesk, ticketing, incident management).
27
+ - \`monitor\` - Account-wide observability dashboard - auto-installed; rarely picked manually.
26
28
 
27
29
  Kits are reusable building blocks added to an existing app, not whole templates - their files land in \`src/packages/<name>/\`:
28
30
  - \`gipity add realtime\` - Multiplayer / presence / shared state - channels, host election, server-persisted sync. Engine-agnostic; works in any app.
29
- - \`gipity add web-vision-mediapipe\` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.`;
31
+ - \`gipity add web-vision-mediapipe\` - On-device camera vision - gesture recognition, body pose, object detection. Runs fully client-side via MediaPipe Tasks; no server, no upload. Web only.
32
+ - \`gipity add chatbot\` - Drop-in chatbot - configurable persona, scope guardrails, static knowledge (20k budget), streaming responses. Headless engine + bubble widget; bring your own UI if you want. Works in any app.
33
+ - \`gipity add audio-align\` - Audio + lyrics -> word-level timing JSON. Demucs vocal isolation + MMS_FA forced alignment, runs as a Modal L4 GPU job (~$0.01 per 3-min song). For karaoke captions, subtitling, language learning, dubbing alignment.`;
30
34
  export const SKILLS_CONTENT = `# Gipity Integration
31
35
 
32
36
  Gipity is the cloud platform your project runs on - hosting, databases, deployment, file storage, code execution, workflows, and monitoring. Gip is the cloud agent that runs on Gipity.
@@ -48,11 +52,11 @@ Gipity ships its own services for things apps usually pull from a third party -
48
52
 
49
53
  The full rule and definition of done are injected at the top of every session context. In short: if the user asks you to build something deployable (web app, game, API), run \`gipity add <template>\` first (default \`web-simple\`); if it's a one-off task (analysis, PDFs, data work), use \`gipity sandbox run\` instead. To add a reusable building block to an existing app (e.g. multiplayer), \`gipity add <kit>\`.
50
54
 
51
- Build loop: \`gipity add\` → edit files → \`gipity deploy dev\` → \`gipity page-inspect <url>\` → fix any errors → repeat until the definition of done is met.
55
+ Build loop: \`gipity add\` → edit files → \`gipity deploy dev\` → \`gipity page inspect <url>\` → fix any errors → repeat until the definition of done is met.
52
56
 
53
57
  ## CLI quick reference
54
58
 
55
- Key commands: \`gipity add <template|kit>\`, \`gipity deploy dev\`, \`gipity sandbox run\`, \`gipity page-inspect <url>\`, \`gipity db query "SQL"\`, \`gipity fn call <name>\`, \`gipity logs fn <name>\`, \`gipity skill read <name>\`.
59
+ Key commands: \`gipity add <template|kit>\`, \`gipity deploy dev\`, \`gipity sandbox run\`, \`gipity page inspect <url>\`, \`gipity db query "SQL"\`, \`gipity fn call <name>\`, \`gipity logs fn <name>\`, \`gipity skill read <name>\`.
56
60
  Run \`gipity --help\` for the full list. Use \`--help\` on any command for details.
57
61
 
58
62
  ## Files and sync
@@ -75,23 +79,22 @@ App services skills (load before calling \`/services/*\` endpoints):
75
79
  - \`app-video\` - Veo models, aspect, resolution
76
80
 
77
81
  App development skills:
78
- - \`app-debugging\` - debug a deployed app: page-inspect, screenshots, function logs
82
+ - \`app-debugging\` - debug a deployed app: page inspect/eval, screenshots, function logs
79
83
  - \`app-development\` - functions, database, and API
80
84
  - \`deploy\` - the deploy pipeline & gipity.yaml manifest
85
+ - \`jobs\` - long-running CPU + GPU compute jobs (Python / Node / bash)
86
+ - \`realtime-scheduled-app\` - recipe: realtime presence/messages + DB function + scheduled poster, end-to-end
81
87
  - \`web-app-basics\` - coding guidelines, file structure, HTML/CSS/JS patterns
82
88
 
83
- Templates:
84
- - \`2d-game\` - 2D game starter (Phaser 3)
85
- - \`3d-engine\` - minimal 3D multiplayer template (Three.js + Rapier + Colyseus)
86
- - \`3d-world\` - 3D multiplayer game starter (Three.js + Rapier + Colyseus)
87
- - \`web-vision-mediapipe\` - web-vision-mediapipe kit: MediaPipe gesture/pose/object detection, web only
89
+ Kit skills (reusable building blocks - \`gipity add <kit>\`):
90
+ - \`audio-align\` - the audio-align kit: forced alignment of audio + lyrics into word-level timing JSON
88
91
 
89
92
  Other key skills:
90
93
  - \`sandbox-tools\` - cloud sandbox capabilities and pre-installed tools
91
94
  - \`tts\` - agent-side speech tools (different from the \`app-tts\` HTTP service)`;
92
95
  export const DEFINITION_OF_DONE = `## Definition of done (build tasks)
93
96
  1. \`gipity deploy dev\` succeeds and you have a live URL.
94
- 2. \`gipity page-inspect <url>\` returns no console errors and the page loads (HTTP 200, no blank screen).
97
+ 2. \`gipity page inspect <url>\` returns no console errors and the page loads (HTTP 200, no blank screen).
95
98
  3. For apps with functions: \`gipity test\` passes.
96
99
  4. You told the user the live URL.
97
100
 
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;oMAqB6J,CAAC;AAErM,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA6DoD,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;2FAMyD,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC"}
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;2PAyBoN,CAAC;AAE5P,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kFA4DoD,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;2FAMyD,CAAC;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,8CAA8C,CAAC"}
@@ -4,6 +4,9 @@ export interface FinalizeLocalProjectOpts {
4
4
  dir: string;
5
5
  projectGuid: string;
6
6
  projectSlug: string;
7
+ /** Project display name — used to resolve `{{TITLE}}` and friends in any
8
+ * template files that contain placeholders. */
9
+ projectName: string;
7
10
  accountSlug: string;
8
11
  agentGuid: string;
9
12
  /** When true, sync operations are non-fatal and fall through with a log. Used
@@ -7,6 +7,8 @@
7
7
  import { clearConfigCache, saveConfigAt, getApiBaseOverride } from './config.js';
8
8
  import { sync } from './sync.js';
9
9
  import { setupClaudeHooks, setupGitignore, SUPPORTED_TOOLS, DEFAULT_SYNC_IGNORE } from './setup.js';
10
+ import { substituteDir } from './template-vars.js';
11
+ import { muted } from './colors.js';
10
12
  /** Write `.gipity.json` in `dir`, chdir into it so the hook/skill writers
11
13
  * target the right place, sync files, and install Claude Code hooks/skills/
12
14
  * gitignore. Returns sync counts so callers can print a summary. */
@@ -23,6 +25,28 @@ export async function finalizeLocalProject(opts) {
23
25
  saveConfigAt(opts.dir, config);
24
26
  process.chdir(opts.dir);
25
27
  clearConfigCache();
28
+ // Resolve `{{PROJECT_GUID}}` / `{{TITLE}}` / `{{ANALYTICS_SCRIPT}}` etc.
29
+ // BEFORE sync uploads. Otherwise a template's placeholder strings would
30
+ // ship verbatim to production (we hit this with karaoke-captions where
31
+ // `APP_GUID` resolved to the literal `'{{PROJECT_GUID}}'` and every API
32
+ // call 404'd). Mirrors what installTemplate does server-side for `gipity
33
+ // add` — keeps the two install paths behaviorally consistent.
34
+ try {
35
+ const sub = await substituteDir(opts.dir, {
36
+ projectGuid: opts.projectGuid,
37
+ projectName: opts.projectName,
38
+ });
39
+ if (sub.changed.length) {
40
+ console.log(muted(`Resolved template vars in ${sub.changed.length} file${sub.changed.length > 1 ? 's' : ''}.`));
41
+ }
42
+ for (const u of sub.unresolved) {
43
+ console.warn(muted(` ${u.path}: unknown placeholder${u.tokens.length > 1 ? 's' : ''} ${u.tokens.join(', ')}`));
44
+ }
45
+ }
46
+ catch (err) {
47
+ // Substitution failure shouldn't block init — log and continue.
48
+ console.warn(muted(`Template substitution skipped: ${err.message}`));
49
+ }
26
50
  let applied = 0;
27
51
  try {
28
52
  const result = await sync({ interactive: opts.interactive ?? false });
@@ -1 +1 @@
1
- {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../src/project-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAyBpG;;qEAEqE;AACrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA8B;IACvE,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,kBAAkB,EAAE,IAAI,qBAAqB;QACtD,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAC;KACjC,CAAC;IAEF,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,gBAAgB,EAAE,CAAC;IAEnB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;QACtC,sCAAsC;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;IAC5C,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC;QAAE,gBAAgB,EAAE,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC;IAEjB,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../src/project-setup.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -13,15 +13,15 @@
13
13
  * - Section headings are `## `, lists are `-` or `1.`.
14
14
  */
15
15
  import { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE } from './knowledge.js';
16
- export interface ScaffoldType {
16
+ export interface TemplateEntry {
17
17
  key: string;
18
18
  for: string;
19
19
  }
20
- export declare const SCAFFOLD_TYPES: readonly ScaffoldType[];
21
- export declare const HIDDEN_SCAFFOLD_TYPES: readonly ScaffoldType[];
22
- export declare const SCAFFOLD_TYPE_KEYS: string;
23
- export declare const SCAFFOLD_TYPE_PICKER: string;
24
- export declare const HIDDEN_SCAFFOLD_PICKER: string;
20
+ export declare const TEMPLATES: readonly TemplateEntry[];
21
+ export declare const HIDDEN_TEMPLATES: readonly TemplateEntry[];
22
+ export declare const TEMPLATE_KEY_PATTERN: string;
23
+ export declare const TEMPLATE_PICKER: string;
24
+ export declare const HIDDEN_TEMPLATE_PICKER: string;
25
25
  export { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE };
26
26
  export declare const CAPABILITIES_BLURB_SHORT: string;
27
27
  /** Identity-only - used by light wrappers (resume) that don't need the full
package/dist/prompts.js CHANGED
@@ -16,7 +16,7 @@
16
16
  // platform/docs/knowledge/*.md and regenerated into ./knowledge.ts. Edit the
17
17
  // markdown, not this file. See `just sync-knowledge`.
18
18
  import { BUILD_VS_NON_BUILD_RULE, DEFINITION_OF_DONE } from './knowledge.js';
19
- export const SCAFFOLD_TYPES = [
19
+ export const TEMPLATES = [
20
20
  { key: 'web-simple', for: 'Landing page, dashboard, calculator, canvas demo, visualization, animation, single-page tool' },
21
21
  { key: 'web-fullstack', for: 'Web app with login, database, or API - CRM, invoice tracker, booking system, admin panel' },
22
22
  { key: '2d-game', for: 'Platformer, arcade, puzzle, endless runner, physics toy (Phaser 3)' },
@@ -24,14 +24,14 @@ export const SCAFFOLD_TYPES = [
24
24
  { key: '3d-engine', for: 'Minimal 3D multiplayer base - Three.js + Rapier + Colyseus, no gameplay; build your own on top' },
25
25
  { key: 'api', for: 'Backend service, webhook, data pipeline, chatbot, cron job - no frontend' },
26
26
  ];
27
- export const HIDDEN_SCAFFOLD_TYPES = [
27
+ export const HIDDEN_TEMPLATES = [
28
28
  { key: 'app-itsm', for: 'IT service management - helpdesk, ticketing, incident management, agent console + portal' },
29
29
  ];
30
- export const SCAFFOLD_TYPE_KEYS = SCAFFOLD_TYPES.map(t => t.key).join('|');
31
- export const SCAFFOLD_TYPE_PICKER = SCAFFOLD_TYPES
30
+ export const TEMPLATE_KEY_PATTERN = TEMPLATES.map(t => t.key).join('|');
31
+ export const TEMPLATE_PICKER = TEMPLATES
32
32
  .map(t => ` - \`${t.key}\` - ${t.for}`)
33
33
  .join('\n');
34
- export const HIDDEN_SCAFFOLD_PICKER = HIDDEN_SCAFFOLD_TYPES
34
+ export const HIDDEN_TEMPLATE_PICKER = HIDDEN_TEMPLATES
35
35
  .map(t => ` - \`${t.key}\` - ${t.for}`)
36
36
  .join('\n');
37
37
  // ---------------------------------------------------------------------------
@@ -174,7 +174,7 @@ export function buildFreshWrap(contextBlock, userMsg) {
174
174
  // ---------------------------------------------------------------------------
175
175
  /** Plain ASCII, no apostrophes or backslashes - embedded inside a node -e shell command. */
176
176
  export const SCAFFOLD_HOOK_WARNING = `[gipity] Heads up: this project has no app yet. If you are building an app/game/API to deploy, ` +
177
- `stop and run: gipity add <${SCAFFOLD_TYPE_KEYS}> (default: web-simple). ` +
177
+ `stop and run: gipity add <${TEMPLATE_KEY_PATTERN}> (default: web-simple). ` +
178
178
  `If this is a one-off task (analysis, data, PDFs, scratch work), proceed.`;
179
179
  // ---------------------------------------------------------------------------
180
180
  // Per-project CLAUDE.md / AGENTS.md body.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}