agnosticui-cli 2.0.0-alpha.13 → 2.0.0-alpha.14

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
@@ -10,7 +10,7 @@ AgnosticUI Local is a new approach to UI libraries. Instead of installing compon
10
10
 
11
11
  **Benefits:**
12
12
 
13
- - **AI-Friendly**: Your entire component library is visible to AI coding tools (Cursor, Windsurf, Claude)
13
+ - **AI-Friendly**: Run `ag context` to generate a `CLAUDE.md` that gives AI coding tools (Claude Code, Cursor, Windsurf) full awareness of your installed components and their props
14
14
  - **Complete Ownership**: Components are copied to your project - modify them however you want
15
15
  - **Zero Lock-in**: No black boxes, no vendor dependencies
16
16
  - **Upgrade Safety**: Reference library updates independently from your customized components
@@ -121,6 +121,35 @@ Available playbooks include: `login`, `login-v2`, `onboarding`, `onboarding-v2`,
121
121
  Each playbook is a self-contained Vite project you can run directly (`npm install && npm run dev`)
122
122
  or use as a reference while copying the pieces you need into your own project.
123
123
 
124
+ ### `ag context`
125
+
126
+ Generate an AI context file from your installed components. The file describes every installed
127
+ component — its import path, props, and types — so AI coding tools (Claude Code, Cursor, Windsurf,
128
+ Copilot) automatically understand your local component library.
129
+
130
+ ```bash
131
+ ag context [options]
132
+
133
+ Options:
134
+ -f, --format <tool> AI tool to target: claude, cursor, copilot, windsurf, openai, gemini, generic
135
+ -o, --output <path> Explicit output path (overrides --format and auto-detect)
136
+
137
+ Examples:
138
+ npx agnosticui-cli context # Auto-detect tool, default to CLAUDE.md
139
+ npx agnosticui-cli context --format cursor # Write to .cursor/rules/agnosticui.mdc
140
+ npx agnosticui-cli context --format copilot # Write to .github/copilot-instructions.md
141
+ npx agnosticui-cli context --format windsurf # Write to .windsurfrules
142
+ npx agnosticui-cli context --format openai # Write to AGENTS.md
143
+ npx agnosticui-cli context --output my-ai.md # Custom path
144
+ ```
145
+
146
+ When no `--format` or `--output` is given, the command auto-detects configured AI tools
147
+ (by checking for `.claude/`, `.cursor/`, `.windsurfrules`, etc.) and picks the right file.
148
+ If multiple tools are detected, an interactive prompt asks which to use.
149
+
150
+ The output file uses HTML sentinel markers so re-running only replaces the AgnosticUI
151
+ section — anything else in the file is preserved. Re-run after adding or updating components.
152
+
124
153
  ## How It Works
125
154
 
126
155
  After running `ag init`, your project structure looks like this:
package/dist/cli.js CHANGED
@@ -34,11 +34,12 @@ import { remove } from "./commands/remove.js";
34
34
  import { list } from "./commands/list.js";
35
35
  import { sync } from "./commands/sync.js";
36
36
  import { playbook } from "./commands/playbook.js";
37
+ import { context } from "./commands/context.js";
37
38
  const program = new Command();
38
39
  program
39
40
  .name("ag")
40
41
  .description("AgnosticUI Local - The UI kit that lives in your codebase")
41
- .version("2.0.0-alpha.13");
42
+ .version("2.0.0-alpha.14");
42
43
  // ag init command
43
44
  program
44
45
  .command("init")
@@ -116,6 +117,15 @@ program
116
117
  force: options.force,
117
118
  });
118
119
  });
120
+ // ag context command
121
+ program
122
+ .command("context")
123
+ .description("Generate an AI context file from your installed components")
124
+ .option("-o, --output <path>", "Explicit output file path (overrides --format and auto-detect)")
125
+ .option("-f, --format <tool>", "AI tool to target: claude, cursor, copilot, windsurf, openai, gemini, generic")
126
+ .action(async (options) => {
127
+ await context({ output: options.output, format: options.format });
128
+ });
119
129
  // Parse arguments
120
130
  program.parse();
121
131
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ContextOptions } from '../types/index.js';
2
+ export declare function context(options?: ContextOptions): Promise<void>;
3
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAsJxD,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHzE"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * ag context command - Generate an AI context file from installed components
3
+ */
4
+ import * as p from '@clack/prompts';
5
+ import path from 'node:path';
6
+ import { existsSync } from 'node:fs';
7
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
8
+ import { loadConfig, saveConfig } from '../utils/config.js';
9
+ import { logger } from '../utils/logger.js';
10
+ import pc from 'picocolors';
11
+ const SECTION_START = '<!-- agnosticui:context:start -->';
12
+ const SECTION_END = '<!-- agnosticui:context:end -->';
13
+ // Known AI tool formats and their default output paths.
14
+ // Detection signals are files/dirs that indicate the tool is configured in this project.
15
+ const AI_TOOLS = {
16
+ claude: { label: 'Claude Code', file: 'CLAUDE.md', detect: ['.claude', 'CLAUDE.md'] },
17
+ cursor: { label: 'Cursor', file: '.cursor/rules/agnosticui.mdc', detect: ['.cursor', '.cursorrules'] },
18
+ copilot: { label: 'GitHub Copilot', file: '.github/copilot-instructions.md', detect: ['.github/copilot-instructions.md'] },
19
+ windsurf: { label: 'Windsurf', file: '.windsurfrules', detect: ['.windsurfrules', '.windsurf'] },
20
+ openai: { label: 'OpenAI / Codex', file: 'AGENTS.md', detect: ['AGENTS.md'] },
21
+ gemini: { label: 'Gemini CLI', file: 'GEMINI.md', detect: ['GEMINI.md'] },
22
+ generic: { label: 'Generic (llms.txt)', file: 'llms.txt', detect: [] },
23
+ };
24
+ /** Detect which AI tools appear to be configured in the project */
25
+ function detectTools(cwd) {
26
+ return Object.keys(AI_TOOLS).filter(tool => AI_TOOLS[tool].detect.some(signal => existsSync(path.join(cwd, signal))));
27
+ }
28
+ /** Wrap section content with Cursor MDC frontmatter when needed */
29
+ function wrapForTool(tool, content) {
30
+ if (tool === 'cursor') {
31
+ return `---\napplyTo: '**'\n---\n\n${content}`;
32
+ }
33
+ return content;
34
+ }
35
+ /** Convert PascalCase component name to ag-kebab-case web component tag */
36
+ function toAgTag(name) {
37
+ return 'ag-' + name.replace(/([A-Z])/g, (m, l, i) => (i === 0 ? '' : '-') + l.toLowerCase());
38
+ }
39
+ /** Build the framework-specific import statement */
40
+ function buildImport(componentName, framework, componentsPath) {
41
+ const base = componentsPath.replace(/^\.\//, '').replace(/\/$/, '');
42
+ switch (framework) {
43
+ case 'react':
44
+ return `import { React${componentName} } from './${base}/${componentName}/react/React${componentName}';`;
45
+ case 'vue':
46
+ return `import Vue${componentName} from './${base}/${componentName}/vue/Vue${componentName}.vue';`;
47
+ default:
48
+ // Lit, Svelte, other — import the core web component
49
+ return `import './${base}/${componentName}/core/${componentName}';`;
50
+ }
51
+ }
52
+ /**
53
+ * Extract the Props interface block from a TypeScript source file.
54
+ * Returns the raw property lines (trimmed, comments stripped) or null if not found.
55
+ */
56
+ async function extractProps(filePath) {
57
+ try {
58
+ const content = await readFile(filePath, 'utf-8');
59
+ const match = content.match(/export interface \w+Props \{([\s\S]*?)\n\}/);
60
+ if (!match)
61
+ return null;
62
+ return match[1]
63
+ .split('\n')
64
+ .filter(line => line.trim() && !line.trim().startsWith('//') && !line.trim().startsWith('*'))
65
+ .map(line => line.trim())
66
+ .join('\n');
67
+ }
68
+ catch {
69
+ return null;
70
+ }
71
+ }
72
+ /**
73
+ * Find the canonical _Component.ts props file in the component's core directory.
74
+ * Tries PascalCase first (_Button.ts), then lowercase (_dialog.ts).
75
+ */
76
+ function findPropsFile(cwd, componentsPath, componentName) {
77
+ const coreDir = path.join(cwd, componentsPath, componentName, 'core');
78
+ const pascal = path.join(coreDir, `_${componentName}.ts`);
79
+ if (existsSync(pascal))
80
+ return pascal;
81
+ const lower = path.join(coreDir, `_${componentName.toLowerCase()}.ts`);
82
+ if (existsSync(lower))
83
+ return lower;
84
+ return null;
85
+ }
86
+ /** Generate the AgnosticUI markdown body (shared across all tool formats) */
87
+ async function generateBody(config, cwd) {
88
+ const { framework, version, paths, components } = config;
89
+ const componentNames = Object.keys(components).sort();
90
+ const usesWebComponentTag = framework === 'lit' || framework === 'svelte' || framework === 'other';
91
+ const lines = [
92
+ SECTION_START,
93
+ '## AgnosticUI Components',
94
+ '',
95
+ `This project uses AgnosticUI Local (v${version}, ${framework} framework).`,
96
+ `Components are installed at \`${paths.components}\`.`,
97
+ '',
98
+ `> Re-run \`npx agnosticui-cli context\` after adding or updating components.`,
99
+ '',
100
+ ];
101
+ for (const name of componentNames) {
102
+ const importLine = buildImport(name, framework, paths.components);
103
+ const propsFile = findPropsFile(cwd, paths.components, name);
104
+ const propsBlock = propsFile ? await extractProps(propsFile) : null;
105
+ lines.push(`### ${name}`, '');
106
+ lines.push(`**Import:** \`${importLine}\``);
107
+ if (usesWebComponentTag) {
108
+ lines.push(`**Tag:** \`<${toAgTag(name)}>\``);
109
+ }
110
+ lines.push('');
111
+ if (propsBlock) {
112
+ lines.push('**Props:**');
113
+ lines.push('```typescript');
114
+ lines.push(propsBlock);
115
+ lines.push('```');
116
+ lines.push('');
117
+ }
118
+ }
119
+ lines.push(SECTION_END);
120
+ return lines.join('\n');
121
+ }
122
+ /** Insert or replace the AgnosticUI section in an existing file using sentinel markers */
123
+ function spliceSection(existing, newSection) {
124
+ const startIdx = existing.indexOf(SECTION_START);
125
+ const endIdx = existing.indexOf(SECTION_END);
126
+ if (startIdx !== -1 && endIdx !== -1) {
127
+ return (existing.slice(0, startIdx) +
128
+ newSection +
129
+ existing.slice(endIdx + SECTION_END.length));
130
+ }
131
+ // Section not found — append
132
+ return existing.trimEnd() + '\n\n' + newSection + '\n';
133
+ }
134
+ export async function context(options = {}) {
135
+ console.log('');
136
+ p.intro(pc.bold(pc.cyan('AgnosticUI Context Generator')));
137
+ const config = await loadConfig();
138
+ if (!config) {
139
+ logger.error('No agnosticui.config.json found. Run npx agnosticui-cli init first.');
140
+ process.exit(1);
141
+ }
142
+ const componentCount = Object.keys(config.components).length;
143
+ if (componentCount === 0) {
144
+ logger.warn('No components installed yet. Run npx agnosticui-cli add <component> first.');
145
+ process.exit(0);
146
+ }
147
+ const cwd = process.cwd();
148
+ // Resolve the output path in priority order:
149
+ // 1. --output flag (explicit user override)
150
+ // 2. --format flag (use that tool's default file)
151
+ // 3. Previously persisted contextPath (set by a prior ag context run — identified by file extension)
152
+ // 4. Auto-detect configured AI tools in the project
153
+ // 5. Fall back to CLAUDE.md
154
+ let outputPath;
155
+ if (options.output) {
156
+ outputPath = options.output;
157
+ }
158
+ else if (options.format) {
159
+ const tool = options.format;
160
+ if (!AI_TOOLS[tool]) {
161
+ logger.error(`Unknown format "${options.format}". Valid formats: ${Object.keys(AI_TOOLS).join(', ')}`);
162
+ process.exit(1);
163
+ }
164
+ outputPath = AI_TOOLS[tool].file;
165
+ }
166
+ else {
167
+ const storedPath = config.ai?.contextPath;
168
+ const storedIsFile = storedPath ? path.extname(storedPath) !== '' : false;
169
+ if (storedIsFile) {
170
+ outputPath = storedPath;
171
+ }
172
+ else {
173
+ const detected = detectTools(cwd);
174
+ if (detected.length === 1) {
175
+ outputPath = AI_TOOLS[detected[0]].file;
176
+ console.log(pc.dim(` Detected ${AI_TOOLS[detected[0]].label} — writing to ${outputPath}`));
177
+ }
178
+ else if (detected.length > 1) {
179
+ const choice = await p.select({
180
+ message: 'Multiple AI tools detected. Which should receive the context file?',
181
+ options: detected.map(tool => ({
182
+ value: tool,
183
+ label: `${AI_TOOLS[tool].label} ${pc.dim(AI_TOOLS[tool].file)}`,
184
+ })),
185
+ });
186
+ if (p.isCancel(choice)) {
187
+ p.cancel('Operation cancelled.');
188
+ process.exit(0);
189
+ }
190
+ outputPath = AI_TOOLS[choice].file;
191
+ }
192
+ else {
193
+ // No tool detected — default to CLAUDE.md
194
+ outputPath = AI_TOOLS.claude.file;
195
+ console.log(pc.dim(` No AI tool detected — defaulting to ${outputPath}`));
196
+ }
197
+ }
198
+ }
199
+ const absOutputPath = path.resolve(cwd, outputPath);
200
+ const relOutputPath = path.relative(cwd, absOutputPath);
201
+ // Determine which tool this output file belongs to (for format-specific wrapping)
202
+ const matchedTool = Object.keys(AI_TOOLS).find(t => AI_TOOLS[t].file === outputPath || AI_TOOLS[t].file === relOutputPath) ?? 'claude';
203
+ const spinner = p.spinner();
204
+ spinner.start(`Generating context for ${componentCount} component(s)...`);
205
+ try {
206
+ const body = await generateBody(config, cwd);
207
+ // Ensure parent directory exists (e.g. .cursor/rules/)
208
+ await mkdir(path.dirname(absOutputPath), { recursive: true });
209
+ let finalContent;
210
+ if (existsSync(absOutputPath)) {
211
+ const existing = await readFile(absOutputPath, 'utf-8');
212
+ finalContent = spliceSection(existing, body);
213
+ }
214
+ else {
215
+ finalContent = wrapForTool(matchedTool, body) + '\n';
216
+ }
217
+ await writeFile(absOutputPath, finalContent, 'utf-8');
218
+ spinner.stop(pc.green('✓') + ` Context written to ${pc.cyan(relOutputPath)}`);
219
+ }
220
+ catch (err) {
221
+ spinner.stop(pc.red('✖') + ' Failed to generate context');
222
+ logger.error(err instanceof Error ? err.message : 'Unknown error');
223
+ process.exit(1);
224
+ }
225
+ // Persist the output path so subsequent runs use the same file automatically
226
+ const persistPath = `./${relOutputPath}`;
227
+ if (config.ai?.contextPath !== persistPath) {
228
+ config.ai = { ...config.ai, contextPath: persistPath };
229
+ await saveConfig(config);
230
+ }
231
+ logger.newline();
232
+ logger.box('Context generated!', [
233
+ pc.dim('File: ') + pc.cyan(relOutputPath),
234
+ pc.dim('Components: ') + pc.white(String(componentCount)),
235
+ pc.dim('Framework: ') + pc.white(config.framework),
236
+ '',
237
+ pc.dim('AI coding tools (Claude Code, Cursor, Windsurf) will now'),
238
+ pc.dim('automatically know about your installed components.'),
239
+ '',
240
+ pc.dim('Re-run after adding components: ') + pc.cyan('npx agnosticui-cli context'),
241
+ ]);
242
+ }
243
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -71,4 +71,8 @@ export interface PlaybookOptions {
71
71
  list?: boolean;
72
72
  force?: boolean;
73
73
  }
74
+ export interface ContextOptions {
75
+ output?: string;
76
+ format?: string;
77
+ }
74
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,EAAE,CAAC,EAAE;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,EAAE,CAAC,EAAE;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agnosticui-cli",
3
- "version": "2.0.0-alpha.13",
3
+ "version": "2.0.0-alpha.14",
4
4
  "description": "CLI for AgnosticUI Local - The UI kit that lives in your codebase",
5
5
  "type": "module",
6
6
  "publishConfig": {