mapples 0.2.0-beta.6 → 0.2.0-beta.8

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 (55) hide show
  1. package/README.md +26 -14
  2. package/dist/api/agent.d.ts +2 -1
  3. package/dist/api/agent.js.map +1 -1
  4. package/dist/api/errors.js +4 -2
  5. package/dist/api/errors.js.map +1 -1
  6. package/dist/commands/agent.js +4 -3
  7. package/dist/commands/agent.js.map +1 -1
  8. package/dist/commands/create.js +1 -1
  9. package/dist/commands/create.js.map +1 -1
  10. package/dist/commands/impl/agentImpl.js +11 -8
  11. package/dist/commands/impl/agentImpl.js.map +1 -1
  12. package/dist/commands/impl/createImpl.js +6 -6
  13. package/dist/commands/impl/createImpl.js.map +1 -1
  14. package/dist/commands/impl/initImpl.js +6 -6
  15. package/dist/commands/impl/initImpl.js.map +1 -1
  16. package/dist/commands/init.js +1 -1
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/project/agentState.js +1 -1
  19. package/dist/project/agentState.js.map +1 -1
  20. package/dist/services/agentInstall.d.ts +45 -10
  21. package/dist/services/agentInstall.js +169 -63
  22. package/dist/services/agentInstall.js.map +1 -1
  23. package/dist/services/scaffold.js +1 -1
  24. package/dist/services/scaffold.js.map +1 -1
  25. package/dist/style/theme.js +17 -1
  26. package/dist/style/theme.js.map +1 -1
  27. package/package.json +1 -1
  28. package/templates/agent/agents-md/AGENTS.md +8 -0
  29. package/templates/{claude → agent/claude}/CLAUDE.md +1 -1
  30. package/templates/agent/codex/config.toml +6 -0
  31. package/templates/agent/cursor/mcp.json +10 -0
  32. package/templates/{claude → agent}/mapples.md +12 -12
  33. package/templates/{claude → agent}/skills/mapples-conventions/SKILL.md +5 -5
  34. package/templates/{claude → agent}/skills/mapples-design/SKILL.md +24 -24
  35. package/templates/{claude → agent}/skills/mapples-design/reference/component-library.md +2 -2
  36. package/templates/{claude → agent}/skills/mapples-design/reference/design-tokens.md +4 -4
  37. package/templates/{claude → agent}/skills/mapples-design/reference/layout-contract.md +1 -1
  38. package/templates/{claude → agent}/skills/mapples-design/reference/lint-checklist.md +3 -3
  39. package/templates/{claude → agent}/skills/mapples-design/reference/plan.md +1 -1
  40. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/empty-states.md +1 -1
  41. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/forms-and-auth.md +1 -1
  42. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/home-dashboard.md +1 -1
  43. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/list-and-detail.md +1 -1
  44. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/microcopy.md +1 -1
  45. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/navigation-chrome.md +2 -2
  46. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/onboarding-flow.md +1 -1
  47. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/screen-flow-wiring.md +2 -2
  48. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/settings-profile.md +1 -1
  49. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/stats-and-progress.md +1 -1
  50. package/templates/{claude → agent}/skills/mapples-design/reference/playbooks/visual-hierarchy.md +1 -1
  51. package/templates/{claude → agent}/skills/mapples-design/reference/style-guides.md +1 -1
  52. package/templates/{claude → agent}/skills/mapples-sync/SKILL.md +12 -11
  53. package/templates/app.json +0 -1
  54. package/templates/package.json +11 -10
  55. /package/templates/{claude → agent/claude}/mcp.json +0 -0
@@ -1,9 +1,17 @@
1
- // `--agent claude` / `mapples agent install`: puts the Claude Code bundle
2
- // (templates/claude) into an app — project-local skills under .claude/skills,
3
- // the conventions file, a CLAUDE.md pointer, and the read-only MCP entry.
1
+ // `--agent <name>` / `mapples agent install`: puts the agent bundle
2
+ // (templates/agent) into an app — project-local skills, the conventions
3
+ // file, a pointer in the agent's instructions file, and the read-only MCP
4
+ // entry — in the places each agent reads them:
5
+ //
6
+ // claude .claude/skills, .claude/mapples.md, CLAUDE.md, .mcp.json
7
+ // cursor .cursor/skills, .cursor/mapples.md, AGENTS.md, .cursor/mcp.json
8
+ // codex .agents/skills, .agents/mapples.md, AGENTS.md, .codex/config.toml
9
+ //
4
10
  // Files the CLI generated are refreshed in place (recognised by their
5
11
  // GENERATED header); a file the user edited is never overwritten — it is
6
12
  // skipped, or with --force deprecated (`_depr_<ts>_…old`) and regenerated.
13
+ // An instructions file or MCP config the user already has is never rewritten:
14
+ // the pointer line is appended once, the MCP entry is printed for them to add.
7
15
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
8
16
  import { dirname, join } from 'node:path';
9
17
  import { deprecateFile } from '../merge/deprecate.js';
@@ -12,21 +20,101 @@ import { DEFAULT_COMPONENTS_DIR, DEFAULT_PAGES_DIR, DEFAULT_ROUTES_DIR, } from '
12
20
  import { ensureGitignored } from '../project/secret.js';
13
21
  import { cliVersion } from '../version.js';
14
22
  import { templatesDir } from './scaffold.js';
15
- export const SUPPORTED_AGENTS = ['claude'];
16
- /** Validates the `--agent` option; only Claude Code is supported in v1. */
23
+ export const SUPPORTED_AGENTS = ['claude', 'cursor', 'codex'];
24
+ /** `--agent` spellings that name the same agent (ChatGPT's coding agent is Codex). */
25
+ const AGENT_ALIASES = { chatgpt: 'codex' };
26
+ /** The `agent` a lease is started with, per installed agent (Creator labels sessions by it). */
27
+ export const SESSION_AGENTS = ['claude-code', 'cursor', 'codex'];
28
+ export const AGENT_PROFILES = {
29
+ claude: {
30
+ name: 'claude',
31
+ label: 'Claude Code',
32
+ sessionAgent: 'claude-code',
33
+ skillsDir: '.claude/skills',
34
+ conventionsPath: '.claude/mapples.md',
35
+ designCommand: '/mapples-design',
36
+ instructions: {
37
+ file: 'CLAUDE.md',
38
+ template: 'claude/CLAUDE.md',
39
+ pointer: '@.claude/mapples.md',
40
+ },
41
+ mcp: { file: '.mcp.json', template: 'claude/mcp.json', marker: '"mapples"' },
42
+ restart: 'MAPPLES_SECRET=$(cat .mapples/secret) claude',
43
+ },
44
+ cursor: {
45
+ name: 'cursor',
46
+ label: 'Cursor',
47
+ sessionAgent: 'cursor',
48
+ skillsDir: '.cursor/skills',
49
+ conventionsPath: '.cursor/mapples.md',
50
+ designCommand: '/mapples-design',
51
+ instructions: {
52
+ file: 'AGENTS.md',
53
+ template: 'agents-md/AGENTS.md',
54
+ pointer: '- Cursor: read `.cursor/mapples.md`.',
55
+ },
56
+ mcp: { file: '.cursor/mcp.json', template: 'cursor/mcp.json', marker: '"mapples"' },
57
+ restart: 'MAPPLES_SECRET=$(cat .mapples/secret) cursor .',
58
+ },
59
+ codex: {
60
+ name: 'codex',
61
+ label: 'Codex',
62
+ sessionAgent: 'codex',
63
+ skillsDir: '.agents/skills',
64
+ conventionsPath: '.agents/mapples.md',
65
+ designCommand: '$mapples-design',
66
+ instructions: {
67
+ file: 'AGENTS.md',
68
+ template: 'agents-md/AGENTS.md',
69
+ pointer: '- Codex: read `.agents/mapples.md`.',
70
+ },
71
+ mcp: {
72
+ file: '.codex/config.toml',
73
+ template: 'codex/config.toml',
74
+ marker: '[mcp_servers.mapples]',
75
+ },
76
+ restart: 'MAPPLES_SECRET=$(cat .mapples/secret) codex',
77
+ },
78
+ };
79
+ /** The agent a `--agent` spelling names (aliases resolved), or null. */
80
+ function agentNameOf(value) {
81
+ if (typeof value !== 'string')
82
+ return null;
83
+ const name = value.toLowerCase();
84
+ if (SUPPORTED_AGENTS.includes(name))
85
+ return name;
86
+ return AGENT_ALIASES[name] ?? null;
87
+ }
88
+ /** Validates the `--agent` option; undefined when not given. */
17
89
  export function parseAgentName(value) {
18
90
  if (value === undefined)
19
91
  return undefined;
20
- if (value === 'claude')
21
- return 'claude';
22
- throw new Error(`unknown --agent "${String(value)}" — supported: ${SUPPORTED_AGENTS.join(', ')}`);
92
+ const name = agentNameOf(value);
93
+ if (name)
94
+ return name;
95
+ throw new Error(`unknown --agent "${String(value)}" — supported: ${SUPPORTED_AGENTS.join(', ')} (chatgpt = codex)`);
96
+ }
97
+ /** Validates `agent start --agent`; the session agent recorded for Creator. */
98
+ export function parseSessionAgent(value) {
99
+ if (value === undefined)
100
+ return 'claude-code';
101
+ if (typeof value === 'string' && SESSION_AGENTS.includes(value)) {
102
+ return value;
103
+ }
104
+ const installed = agentNameOf(value);
105
+ if (installed)
106
+ return AGENT_PROFILES[installed].sessionAgent;
107
+ throw new Error(`unknown session agent "${String(value)}" — supported: ${SESSION_AGENTS.join(', ')}`);
108
+ }
109
+ /** The default session label for a session agent. */
110
+ export function sessionAgentLabel(agent) {
111
+ return Object.values(AGENT_PROFILES).find((p) => p.sessionAgent === agent).label;
23
112
  }
24
113
  /** The marker every generated Markdown file carries (line 1, or right after its frontmatter). */
25
114
  export const GENERATED_HEADER = /^<!--\s*GENERATED by Mapples\b/;
26
- export const CLAUDE_MD_POINTER = '@.claude/mapples.md';
27
115
  /**
28
116
  * Whether the CLI generated this file: the header opens the file, or — for
29
- * skills, whose YAML frontmatter must be the first thing Claude Code reads —
117
+ * skills, whose YAML frontmatter must be the first thing the agent reads —
30
118
  * it is the first line after the frontmatter block.
31
119
  */
32
120
  export function isGeneratedFile(content) {
@@ -41,27 +129,40 @@ export function isGeneratedFile(content) {
41
129
  const afterFrontmatter = lines.slice(close + 1).find((line) => line.trim() !== '');
42
130
  return GENERATED_HEADER.test(afterFrontmatter ?? '');
43
131
  }
44
- export function claudeTemplatesDir() {
45
- return join(templatesDir(), 'claude');
132
+ export function agentTemplatesDir() {
133
+ return join(templatesDir(), 'agent');
46
134
  }
47
- function substitute(content, opts) {
135
+ function substitute(content, profile, opts) {
48
136
  return content
49
137
  .replaceAll('__CLI_VERSION__', cliVersion())
50
138
  .replaceAll('__API_URL__', opts.apiUrl.replace(/\/+$/, ''))
51
139
  .replaceAll('__ROUTES_DIR__', opts.routesDir)
52
140
  .replaceAll('__PAGES_DIR__', opts.pagesDir)
53
- .replaceAll('__COMPONENTS_DIR__', opts.componentsDir);
141
+ .replaceAll('__COMPONENTS_DIR__', opts.componentsDir)
142
+ .replaceAll('__SKILLS_DIR__', profile.skillsDir)
143
+ .replaceAll('__CONVENTIONS_PATH__', profile.conventionsPath)
144
+ .replaceAll('__DESIGN_COMMAND__', profile.designCommand)
145
+ .replaceAll('__AGENT_LABEL__', profile.label)
146
+ .replaceAll('__AGENT_ID__', profile.sessionAgent)
147
+ .replaceAll('__AGENT_FLAG__', profile.name)
148
+ .replaceAll('__AGENT_RESTART__', profile.restart)
149
+ .replaceAll('__AGENTS_MD_POINTER__', profile.instructions.pointer);
150
+ }
151
+ function resolveOptions(options) {
152
+ return {
153
+ apiUrl: options.apiUrl,
154
+ force: options.force === true,
155
+ routesDir: options.routesDir ?? DEFAULT_ROUTES_DIR,
156
+ pagesDir: options.pagesDir ?? DEFAULT_PAGES_DIR,
157
+ componentsDir: options.componentsDir ?? DEFAULT_COMPONENTS_DIR,
158
+ };
54
159
  }
55
- export function mcpConfigFor(apiUrl) {
56
- return substitute(readFileSync(join(claudeTemplatesDir(), 'mcp.json'), 'utf8'), {
57
- apiUrl,
58
- force: false,
59
- routesDir: '',
60
- pagesDir: '',
61
- componentsDir: '',
62
- });
160
+ /** The agent's MCP config for this API, as the installer writes it. */
161
+ export function mcpConfigFor(agent, apiUrl) {
162
+ const profile = AGENT_PROFILES[agent];
163
+ return substitute(readFileSync(join(agentTemplatesDir(), profile.mcp.template), 'utf8'), profile, resolveOptions({ apiUrl }));
63
164
  }
64
- /** Write a generated Markdown file, honouring the header handshake. */
165
+ /** Write a generated file, honouring the header handshake. */
65
166
  function placeGenerated(root, rel, content, force, outcomes) {
66
167
  const abs = join(root, rel);
67
168
  if (existsSync(abs)) {
@@ -107,58 +208,53 @@ function walk(dir, rel = '') {
107
208
  }
108
209
  return out.sort();
109
210
  }
110
- export function installClaudeIntegration(root, options) {
111
- const opts = {
112
- apiUrl: options.apiUrl,
113
- force: options.force === true,
114
- routesDir: options.routesDir ?? DEFAULT_ROUTES_DIR,
115
- pagesDir: options.pagesDir ?? DEFAULT_PAGES_DIR,
116
- componentsDir: options.componentsDir ?? DEFAULT_COMPONENTS_DIR,
117
- };
118
- const src = claudeTemplatesDir();
211
+ export function installAgentIntegration(root, agent, options) {
212
+ const profile = AGENT_PROFILES[agent];
213
+ const opts = resolveOptions(options);
214
+ const src = agentTemplatesDir();
119
215
  const outcomes = [];
120
- const read = (rel) => substitute(readFileSync(join(src, rel), 'utf8'), opts);
121
- // Skills: templates/claude/skills/** -> .claude/skills/**
216
+ const read = (rel) => substitute(readFileSync(join(src, rel), 'utf8'), profile, opts);
217
+ // Skills: templates/agent/skills/** -> <skillsDir>/**
122
218
  for (const rel of walk(join(src, 'skills'))) {
123
- placeGenerated(root, join('.claude', 'skills', rel), read(join('skills', rel)), opts.force, outcomes);
219
+ placeGenerated(root, join(profile.skillsDir, rel), read(join('skills', rel)), opts.force, outcomes);
124
220
  }
125
- // Conventions: templates/claude/mapples.md -> .claude/mapples.md
126
- placeGenerated(root, join('.claude', 'mapples.md'), read('mapples.md'), opts.force, outcomes);
127
- // CLAUDE.md: created from the template when absent; otherwise only the
128
- // pointer line is appended — the user's instructions are theirs.
129
- const claudeMd = join(root, 'CLAUDE.md');
130
- if (!existsSync(claudeMd)) {
131
- writeFileSync(claudeMd, read('CLAUDE.md'));
132
- outcomes.push({ file: 'CLAUDE.md', action: 'created' });
221
+ // Conventions: templates/agent/mapples.md -> <conventionsPath>
222
+ placeGenerated(root, profile.conventionsPath, read('mapples.md'), opts.force, outcomes);
223
+ // Instructions file: created from the template when absent; otherwise only
224
+ // the pointer line is appended — the user's instructions are theirs.
225
+ const instructions = join(root, profile.instructions.file);
226
+ const pointer = profile.instructions.pointer;
227
+ if (!existsSync(instructions)) {
228
+ writeFileSync(instructions, read(profile.instructions.template));
229
+ outcomes.push({ file: profile.instructions.file, action: 'created' });
133
230
  }
134
231
  else {
135
- const current = readFileSync(claudeMd, 'utf8');
136
- if (current.split('\n').some((line) => line.trim() === CLAUDE_MD_POINTER)) {
137
- outcomes.push({ file: 'CLAUDE.md', action: 'unchanged' });
232
+ const current = readFileSync(instructions, 'utf8');
233
+ if (current.split('\n').some((line) => line.trim() === pointer)) {
234
+ outcomes.push({ file: profile.instructions.file, action: 'unchanged' });
138
235
  }
139
236
  else {
140
- writeFileSync(claudeMd, current +
141
- (current.endsWith('\n') || current === '' ? '' : '\n') +
142
- `\n${CLAUDE_MD_POINTER}\n`);
143
- outcomes.push({ file: 'CLAUDE.md', action: 'appended', detail: CLAUDE_MD_POINTER });
237
+ writeFileSync(instructions, current + (current.endsWith('\n') || current === '' ? '' : '\n') + `\n${pointer}\n`);
238
+ outcomes.push({ file: profile.instructions.file, action: 'appended', detail: pointer });
144
239
  }
145
240
  }
146
- // .mcp.json: written once; an existing one is never touched (the user may
241
+ // MCP config: written once; an existing one is never touched (the user may
147
242
  // have other servers there) — the snippet is returned for them to merge.
148
- const mcp = join(root, '.mcp.json');
243
+ const mcp = join(root, profile.mcp.file);
149
244
  let mcpSnippet = null;
150
- const mcpContent = read('mcp.json');
245
+ const mcpContent = read(profile.mcp.template);
151
246
  if (!existsSync(mcp)) {
247
+ mkdirSync(dirname(mcp), { recursive: true });
152
248
  writeFileSync(mcp, mcpContent);
153
- outcomes.push({ file: '.mcp.json', action: 'created' });
249
+ outcomes.push({ file: profile.mcp.file, action: 'created' });
154
250
  }
155
- else if (readFileSync(mcp, 'utf8').includes('"mapples"')) {
156
- outcomes.push({ file: '.mcp.json', action: 'unchanged' });
251
+ else if (readFileSync(mcp, 'utf8').includes(profile.mcp.marker)) {
252
+ outcomes.push({ file: profile.mcp.file, action: 'unchanged' });
157
253
  }
158
254
  else {
159
255
  mcpSnippet = mcpContent;
160
256
  outcomes.push({
161
- file: '.mcp.json',
257
+ file: profile.mcp.file,
162
258
  action: 'skipped',
163
259
  detail: 'exists — add the "mapples" server yourself (snippet printed below)',
164
260
  });
@@ -166,15 +262,25 @@ export function installClaudeIntegration(root, options) {
166
262
  if (ensureGitignored(root, [AGENT_STATE_GITIGNORE])) {
167
263
  outcomes.push({ file: '.gitignore', action: 'appended', detail: AGENT_STATE_GITIGNORE });
168
264
  }
169
- return { outcomes, mcpSnippet };
265
+ return { agent, outcomes, mcpSnippet };
170
266
  }
171
- /** The lines printed after create/init/install with `--agent claude`. */
172
- export function claudeNextSteps(appDir) {
267
+ /** The lines printed after create/init/install with `--agent <name>`. */
268
+ export function agentNextSteps(agent, appDir) {
269
+ const profile = AGENT_PROFILES[agent];
173
270
  const cd = appDir ? `cd ${appDir} && ` : '';
271
+ const where = {
272
+ claude: 'then type',
273
+ cursor: 'then in Agent chat type',
274
+ codex: 'trust the project when Codex asks (it loads .codex/config.toml), then type',
275
+ };
174
276
  return [
175
- 'Claude Code is set up. Start it with the project key in the environment:',
176
- ` ${cd}MAPPLES_SECRET=$(cat .mapples/secret) claude`,
177
- 'then type /mapples-design and describe your app.',
277
+ `${profile.label} is set up. Start it with the project key in the environment:`,
278
+ ` ${cd}${profile.restart}`,
279
+ `${where[agent]} ${profile.designCommand} and describe your app.`,
178
280
  ];
179
281
  }
282
+ /** The line that introduces a printed MCP snippet. */
283
+ export function mcpSnippetHeading(agent) {
284
+ return `Add this to your ${AGENT_PROFILES[agent].mcp.file}:`;
285
+ }
180
286
  //# sourceMappingURL=agentInstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentInstall.js","sourceRoot":"","sources":["../../src/services/agentInstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentInstall.js","sourceRoot":"","sources":["../../src/services/agentInstall.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function templatesDir() {
9
9
  }
10
10
  const RENAMES = { gitignore: '.gitignore' };
11
11
  /** Template subtrees that are not part of the app shell (installed by their own service). */
12
- const NOT_APP_SHELL = new Set(['claude']);
12
+ const NOT_APP_SHELL = new Set(['agent']);
13
13
  /** Copy the app-shell templates into `target`, substituting __APP_NAME__. Never overwrites. */
14
14
  export function scaffoldApp(target, appName) {
15
15
  const written = [];
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/services/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/services/scaffold.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,17 @@ const ENTITY_BY_SECTION = {
13
13
  typography: 'Typography',
14
14
  sizing: 'Sizing',
15
15
  };
16
+ // The style entities are per-project singletons with fixed ids (RFC-0001
17
+ // genesis manifest; service--mapplesorg api/canvas/engine.py). An update op
18
+ // must name its target — the server rejects an id-less update (422). Their
19
+ // blobs are `{id, data}`: the document lives under `data`, so a patch does
20
+ // too — `typography` and `sizing` are structural keys at the top level and
21
+ // a flat patch of those documents is refused (PATCH_INVALID).
22
+ const ID_BY_SECTION = {
23
+ theme: 'th_default',
24
+ typography: 'ty_default',
25
+ sizing: 'sz_default',
26
+ };
16
27
  export function renderThemeFile(style) {
17
28
  const print = (v) => JSON.stringify(v, null, 2).replace(/"([A-Za-z_$][\w$]*)":/g, '$1:');
18
29
  return [
@@ -110,7 +121,12 @@ export function syncStyleFile(root, base, remote, report) {
110
121
  for (const section of SECTIONS) {
111
122
  const push = buildMergePatch(remoteStyle[section], merged[section]);
112
123
  if (push !== null) {
113
- pushOps.push({ op: 'update', entity: ENTITY_BY_SECTION[section], patch: push });
124
+ pushOps.push({
125
+ op: 'update',
126
+ entity: ENTITY_BY_SECTION[section],
127
+ id: ID_BY_SECTION[section],
128
+ patch: { data: push },
129
+ });
114
130
  }
115
131
  }
116
132
  const desired = renderThemeFile(merged);
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/style/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/style/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapples",
3
- "version": "0.2.0-beta.6",
3
+ "version": "0.2.0-beta.8",
4
4
  "description": "Mapples CLI — two-way code sync between Creator and your Expo project",
5
5
  "license": "MIT",
6
6
  "author": "Oleksandr Soloviov <oleksolv@gmail.com>",
@@ -0,0 +1,8 @@
1
+ <!-- GENERATED by Mapples __CLI_VERSION__ — re-run npx -y mapples@__CLI_VERSION__ agent install --force to refresh -->
2
+ # Project instructions
3
+
4
+ This Expo app is linked to a Mapples Creator project. Before creating or editing any screen,
5
+ component or `mapples/theme.ts`, read the Mapples conventions (file layout, `$sid` rules, sync
6
+ workflow, design skills):
7
+
8
+ __AGENTS_MD_POINTER__
@@ -1,4 +1,4 @@
1
- <!-- GENERATED by Mapples __CLI_VERSION__ — re-run mapples agent install --force to refresh -->
1
+ <!-- GENERATED by Mapples __CLI_VERSION__ — re-run npx -y mapples@__CLI_VERSION__ agent install --force to refresh -->
2
2
  # Project instructions
3
3
 
4
4
  This Expo app is linked to a Mapples Creator project. The Mapples conventions
@@ -0,0 +1,6 @@
1
+ # GENERATED by Mapples __CLI_VERSION__ — the read-only Mapples MCP server.
2
+ # Codex loads project config only for trusted projects; the key comes from
3
+ # the MAPPLES_SECRET environment variable, never from this file.
4
+ [mcp_servers.mapples]
5
+ url = "__API_URL__/mcp/"
6
+ env_http_headers = { "X-API-Key" = "MAPPLES_SECRET" }
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "mapples": {
4
+ "url": "__API_URL__/mcp/",
5
+ "headers": {
6
+ "X-API-Key": "${env:MAPPLES_SECRET}"
7
+ }
8
+ }
9
+ }
10
+ }
@@ -1,18 +1,18 @@
1
- <!-- GENERATED by Mapples __CLI_VERSION__ — re-run mapples agent install --force to refresh -->
1
+ <!-- GENERATED by Mapples __CLI_VERSION__ — re-run npx -y mapples@__CLI_VERSION__ agent install --force to refresh -->
2
2
  # Mapples conventions
3
3
 
4
4
  This app is linked to a **Mapples Creator** project (visual editor at creator.mapples.io).
5
5
  The link is the `mapples` CLI: screens, components and design tokens are TSX and TS files in
6
- this repo, and `mapples sync` pushes your edits to Creator and pulls Creator's edits back
7
- (two-way, 3-way merged). Every write to the project goes through `mapples sync` — there is no
6
+ this repo, and `npx -y mapples@__CLI_VERSION__ sync` pushes your edits to Creator and pulls Creator's edits back
7
+ (two-way, 3-way merged). Every write to the project goes through `npx -y mapples@__CLI_VERSION__ sync` — there is no
8
8
  other write path from here. The `mapples` MCP server (`.mcp.json`) is **read-only**: use it to
9
9
  look at the project (style tokens, assets); never expect it to change anything.
10
10
 
11
11
  ## Skills
12
12
 
13
- - `/mapples-design` — build the whole app from a product brief (tokens → plan → screens → wiring → review).
13
+ - `__DESIGN_COMMAND__` — build the whole app from a product brief (tokens → plan → screens → wiring → review).
14
14
  - `mapples-conventions` — how Mapples files are written (auto-applies when you edit them).
15
- - `mapples-sync` — running `mapples sync`, reading its JSON report, handling conflicts and exit codes.
15
+ - `mapples-sync` — running `npx -y mapples@__CLI_VERSION__ sync`, reading its JSON report, handling conflicts and exit codes.
16
16
 
17
17
  ## Where things live
18
18
 
@@ -33,7 +33,7 @@ Read `.mapples/config.json` for the real `routesDir` / `pagesDir` / `componentsD
33
33
 
34
34
  1. **`$sid` is opaque.** Every element Creator knows carries `$sid="nd_…"`. Never invent,
35
35
  renumber, duplicate, move between elements or delete a `$sid`. New elements get **no**
36
- `$sid` — `mapples sync` tags them and rewrites the file. Deleting an element deletes it in
36
+ `$sid` — `npx -y mapples@__CLI_VERSION__ sync` tags them and rewrites the file. Deleting an element deletes it in
37
37
  Creator on the next sync (that is a real delete — say so when you do it).
38
38
  2. **Never touch CLI-owned files**: `_layout.tsx` under the routes dir, `assetMap.ts`, anything
39
39
  in `.mapples/`, and `_depr_*` files. The one exception is the handshake for a new route
@@ -41,7 +41,7 @@ Read `.mapples/config.json` for the real `routesDir` / `pagesDir` / `componentsD
41
41
  `// GENERATED by Mapples` so the CLI adopts its navigator kind and owns it from then on.
42
42
  3. **Never delete `.mapples/head`, `.mapples/base/` or `.mapples/pages.json`** — they are the
43
43
  sync base; losing them turns the next sync into a cold bootstrap.
44
- 4. **Sync after every meaningful step** — `mapples sync --yes --json` — and read the report.
44
+ 4. **Sync after every meaningful step** — `npx -y mapples@__CLI_VERSION__ sync --yes --json` — and read the report.
45
45
  Exit 2 means conflicts (your file was kept as `_depr_<ts>_<name>.tsx.old`, the file was
46
46
  regenerated from Creator: re-apply your intent onto the new file, never restore the old one).
47
47
  5. **A `_depr_` file is a signal, not a resource.** Diff it against the regenerated file, carry
@@ -106,13 +106,13 @@ const styles = Styler.create({
106
106
  ## Design tokens
107
107
 
108
108
  `mapples/theme.ts` exports three literal objects — `theme`, `typography`, `sizing` — with the
109
- exact shape documented in `.claude/skills/mapples-design/reference/design-tokens.md`. Creating
109
+ exact shape documented in `__SKILLS_DIR__/mapples-design/reference/design-tokens.md`. Creating
110
110
  or editing the file and syncing pushes the tokens to Creator (missing file + empty project = no-op).
111
111
 
112
112
  ## The agent lease
113
113
 
114
- While `/mapples-design` runs, `mapples agent start` holds a lease on the project so Creator shows
115
- "Claude Code is working" and locks its own chat. `mapples agent step` reports progress;
116
- `mapples agent stop` releases. `.mapples/agent.json` exists while the lease is held and labels
117
- every sync commit "Claude Code: <step>". Exit codes: `3` = the lease is gone (Creator
114
+ While `__DESIGN_COMMAND__` runs, `npx -y mapples@__CLI_VERSION__ agent start` holds a lease on the project so Creator shows
115
+ "__AGENT_LABEL__ is working" and locks its own chat. `npx -y mapples@__CLI_VERSION__ agent step` reports progress;
116
+ `npx -y mapples@__CLI_VERSION__ agent stop` releases. `.mapples/agent.json` exists while the lease is held and labels
117
+ every sync commit "__AGENT_LABEL__: <step>". Exit codes: `3` = the lease is gone (Creator
118
118
  disconnected you or it expired — stop and tell the user), `4` = another agent holds the project.
@@ -2,10 +2,10 @@
2
2
  name: mapples-conventions
3
3
  description: How Mapples-managed files are written — file layout, $sid rules, $actions/$data/$refs, the @mapples/ui vs @mapples/components import table, token strings and Styler dictionaries. Use whenever editing a route file, mapples/pages, mapples/components or mapples/theme.ts in a Mapples-linked Expo app.
4
4
  ---
5
- <!-- GENERATED by Mapples __CLI_VERSION__ — re-run mapples agent install --force to refresh -->
5
+ <!-- GENERATED by Mapples __CLI_VERSION__ — re-run npx -y mapples@__CLI_VERSION__ agent install --force to refresh -->
6
6
  # Mapples conventions
7
7
 
8
- Read `.claude/mapples.md` first (the summary). This skill is the reference.
8
+ Read `__CONVENTIONS_PATH__` first (the summary). This skill is the reference.
9
9
 
10
10
  ## File layout
11
11
 
@@ -28,7 +28,7 @@ identity: keep it verbatim. Renaming the file renames the route in Creator.
28
28
 
29
29
  - `$sid="nd_…"` is the canvas node id. Opaque: never parse beyond the prefix, never invent,
30
30
  never renumber, never copy to another element, never reuse a deleted one.
31
- - New elements carry **no** `$sid`. `mapples sync` tags them (report: `tagged N new element(s)`)
31
+ - New elements carry **no** `$sid`. `npx -y mapples@__CLI_VERSION__ sync` tags them (report: `tagged N new element(s)`)
32
32
  and rewrites the file with the ids — re-read the file after a sync before editing again.
33
33
  - Wrapping an existing element (moving it inside a new `View`) keeps its `$sid`; the sync sees a
34
34
  move. Removing an element with a `$sid` deletes it in Creator.
@@ -121,13 +121,13 @@ export default function MainLayout() {
121
121
  }
122
122
  ```
123
123
 
124
- `mapples sync --yes` then adopts the directory as a tabs navigator (`<Stack>` → stack,
124
+ `npx -y mapples@__CLI_VERSION__ sync --yes` then adopts the directory as a tabs navigator (`<Stack>` → stack,
125
125
  `<Drawer>` from `expo-router/drawer` → drawer; no layout → stack) and regenerates the file. A
126
126
  layout **without** the header is treated as yours and deprecated on the first sync.
127
127
 
128
128
  ## What not to do
129
129
 
130
- - Do not run `mapples init`, `mapples create`, or edit `.mapples/config.json`.
130
+ - Do not run `npx -y mapples@__CLI_VERSION__ init`, `npx -y mapples@__CLI_VERSION__ create`, or edit `.mapples/config.json`.
131
131
  - Do not restore a `_depr_` file over the regenerated one.
132
132
  - Do not hand-write `$sid`s, `$refs`, or navigator options.
133
133
  - Do not put JSX children text inside `Typography` (`text` prop only), and do not use `Text`.