7onic 0.1.14 → 0.1.16

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 (3) hide show
  1. package/dist/index.js +148 -6
  2. package/llms.txt +1 -0
  3. package/package.json +8 -3
package/dist/index.js CHANGED
@@ -6,6 +6,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __esm = (fn, res) => function __init() {
10
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
+ };
9
12
  var __commonJS = (cb, mod) => function __require() {
10
13
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
14
  };
@@ -26,10 +29,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
29
  mod
27
30
  ));
28
31
 
32
+ // <define:__AI_KIT_FILES__>
33
+ var define_AI_KIT_FILES_default;
34
+ var init_define_AI_KIT_FILES = __esm({
35
+ "<define:__AI_KIT_FILES__>"() {
36
+ define_AI_KIT_FILES_default = { "skills/7onic-setup/SKILL.md": "---\nname: 7onic-setup\ndescription: Detect, configure, and verify a project for the 7onic Design System \u2014 framework/Tailwind detection, token CSS wiring, and an idempotent health check. Run after installing @7onic-ui packages, after `npx 7onic init`, or whenever styles look wrong.\n---\n\n# 7onic Setup \u2014 detect, configure, verify\n\nBring the current project to a working 7onic state. This skill is\n**idempotent**: when everything is already correct it changes nothing and\nreports a passing checklist. Never guess \u2014 every verdict below must come\nfrom reading the actual file.\n\n## Step 1 \u2014 Detect the project\n\nRead `package.json` and record:\n\n- **Install route**:\n - `@7onic-ui/react` in dependencies \u2192 **npm route**\n - a `7onic.json` file at the root and/or components under the project's\n `components/ui/` \u2192 **CLI route** (`npx 7onic add` source copies)\n - neither \u2192 go to Step 4 (fresh install)\n- **Tailwind major**: `tailwindcss` version \u2014 `^4` \u2192 v4, `^3` \u2192 v3.\n No Tailwind at all \u2192 tokens still work as plain CSS variables\n (`@7onic-ui/tokens/css/all.css`), but component classes need Tailwind:\n say so and stop after wiring the CSS.\n- **Framework**: `next` \u2192 Next.js (global CSS usually `app/globals.css`),\n `vite` \u2192 Vite (usually `src/index.css`).\n- `@7onic-ui/tokens` must be present on both routes \u2014 it ships the CSS\n variables everything depends on.\n\n## Step 2 \u2014 Verify (and fix) the CSS wiring\n\nOpen the project's global CSS file and check against the matrix. Add only\nwhat is missing; never duplicate an import that already exists.\n\n**Tailwind v4**:\n\n```css\n@import \"tailwindcss\";\n@import '@7onic-ui/tokens/tailwind/v4.css';\n\n@source \"../node_modules/@7onic-ui/react/dist\";\n```\n\n- The `@source` path is relative to the CSS file \u2014 recompute it for the\n actual file location (npm route only; CLI-copied sources are scanned as\n normal project files).\n\n**Tailwind v3** \u2014 CSS plus config:\n\n```css\n@import '@7onic-ui/tokens/css/all.css';\n\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n```\n\n`tailwind.config.js` must have the preset and, on the npm route, the dist\nglob in `content`:\n\n```js\npresets: [require('@7onic-ui/tokens/tailwind/v3-preset')],\ncontent: ['./node_modules/@7onic-ui/react/dist/**/*.{js,mjs}', /* app globs */],\n```\n\nNotes that prevent common misdiagnoses:\n\n- Body background/text/font come from the token CSS automatically\n (`html body` baseline inside `variables.css`) \u2014 do NOT add manual\n `body { ... }` rules or wrapper providers.\n- Dark mode is automatic via CSS variables \u2014 never add `dark:` prefixed\n classes to compensate.\n- `lucide-react` is NOT a 7onic dependency; 7onic components use inline\n SVG. Install it only if the user's own code imports it.\n\n## Step 3 \u2014 Health check (always run, report as a checklist)\n\n1. `@7onic-ui/tokens` resolvable and its CSS imported (Step 2 matrix).\n2. Tailwind version matches the wiring style actually found.\n3. npm route: `@source`/`content` covers `@7onic-ui/react/dist`.\n4. A trivial render compiles: import `{ Button }` from\n `@7onic-ui/react` (npm) or the local `components/ui` path (CLI) and\n type-check or build.\n5. If the 7onic MCP server is connected, finish with one\n `validate_code` call on an existing screen file to confirm the\n project's code follows the token rules.\n\nReport each line as pass/fixed/action-needed with the file you read as\nevidence. If all five pass untouched, say so explicitly \u2014 that is the\nexpected steady state.\n\n## Step 4 \u2014 Nothing installed yet\n\nRecommend exactly one of:\n\n- `npx 7onic init` \u2014 detects framework/TS/Tailwind, installs base deps,\n wires the CSS automatically (then re-run this skill to verify), or\n- manual npm route: `npm install @7onic-ui/react @7onic-ui/tokens` and\n apply Step 2.\n\nFull reference: `node_modules/@7onic-ui/react/llms.txt` (npm route) or\nhttps://7onic.design/components/installation\n", "skills/7onic-design/SKILL.md": '---\nname: 7onic-design\ndescription: Build UI with the 7onic Design System the right way \u2014 guided workflow that drives the 7onic MCP tools (component discovery, token resolution, layout recipes, validate_code loop) from a plain-language request like "SaaS dashboard" or "pricing page". Queries work in English, Japanese, and Korean.\n---\n\n# 7onic Design \u2014 guided, validated UI building\n\nTurn a request ("build a settings page", "SaaS\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9", "\uAC00\uACA9 \uD398\uC774\uC9C0")\ninto token-accurate 7onic code. This skill is an **orchestrator**: the\nknowledge lives in the 7onic MCP server tools \u2014 your job is to call them\nin the right order and refuse to hand over unvalidated code.\n\nIf the `7onic-design` MCP tools are not available, stop and have the user\ninstall the plugin (`claude plugin install 7onic-design@7onic`) or wire\nthe server manually \u2014 do not improvise from memory.\n\n## Step 0 \u2014 Scope the request\n\nBreak the request into screens/sections and list them back in the user\'s\nlanguage. For a multi-screen request, confirm the breakdown before\nwriting code (e.g. dashboard \u2192 layout shell / metric row / chart panel /\ntable). For a single component or section, skip the confirmation and go.\n\n## Step 1 \u2014 Components first\n\nFor every UI element, discover before you write:\n\n- `list_components` with a natural-language query (en/ja/ko all fine) \u2014\n prefer a 7onic component over any hand-rolled HTML.\n- `get_component` for props/variants/sizes of each component you will\n use \u2014 never guess a prop name or enum value.\n- `get_component_examples` and copy the import lines **exactly** \u2014\n named exports only, charts from `@7onic-ui/react/chart`.\n\n## Step 2 \u2014 Tokens for everything visual\n\n- `search_tokens` / `get_token` for colors, spacing, typography, shadows.\n Token NAMES are the API; values are user-configurable \u2014 never hardcode.\n- About to write any raw value (hex color, px size, ms duration)?\n Call `suggest_tokens` first. If it returns an exact token, use the\n token class. If not, it returns a user-confirmation prompt \u2014 **relay\n that prompt and wait**; never bypass tokens silently.\n- Semantic colors theme-switch automatically: no `dark:` prefixes.\n Typography tokens pair font-size with line-height: no `leading-*`.\n\n## Step 3 \u2014 Layout\n\n`get_layout_pattern` for the structural skeleton \u2014 symmetric grids,\nreading column, section rhythm, element rows, inline groups. Grid system\nis 4/8/12 columns (mobile/tablet/desktop); icon+text rows always use\n`items-center`.\n\n## Step 4 \u2014 Write, then validate (non-negotiable)\n\nWrite the code, then run `validate_code` on every file you produced:\n\n1. errors > 0 \u2192 fix using the per-violation `fix` guidance and re-run.\n Repeat until `valid: true`.\n2. Warnings: resolve them or tell the user which ones you kept and why.\n3. A `ds-ignore` comment is allowed only for a value the user explicitly\n approved through the Step 2 confirmation prompt.\n\nOnly validated code reaches the user. Include in your final summary:\ncomponents used, tokens of note, and the final validate_code verdict.\n\n## Quality bar\n\nResponsive mobile-first (`md:`/`lg:` variants), dark-mode safe by\nconstruction (semantic tokens only), accessible labels on icon-only\ncontrols, user-facing copy in the user\'s language.\n', "agents/design-agent.md": "---\nname: 7onic-design-agent\ndescription: Implements UI tasks with the 7onic Design System end to end \u2014 discovers components and tokens through the 7onic MCP tools, composes layout, and returns only validate_code-clean TSX. Use for delegated page/screen/component builds in projects using @7onic-ui packages.\n---\n\nYou are a 7onic Design System implementation agent. You receive a UI task\n(a page, screen, or component) and return working, **validated** code.\nYou are self-contained: everything you need comes from the 7onic MCP\ntools (`7onic-design` server) \u2014 if they are unavailable, return that as a\nblocker instead of improvising from memory.\n\n## Hard rules\n\n1. **Components over HTML.** Before writing any element, check\n `list_components` (queries accept English, Japanese, Korean). Native\n `<button>`, `<input>`, `<table>` are wrong wherever a 7onic component\n exists.\n2. **Never guess an API.** `get_component` for props/variants/sizes;\n `get_component_examples` for verified JSX \u2014 copy the import lines\n exactly. Named exports only; charts import from\n `@7onic-ui/react/chart` (requires the `recharts` optional peer).\n3. **Tokens only.** No raw palette colors, no arbitrary values except\n layout `h-[]`/`w-[]`, no `dark:` prefixes (semantic tokens\n theme-switch), no `leading-*` (typography tokens pair font-size with\n line-height), no inline styles. Before any raw value, call\n `suggest_tokens`; if there is no exact token, surface its\n confirmation prompt to your caller as an open question \u2014 do not\n decide alone.\n4. **Layout via `get_layout_pattern`** \u2014 4/8/12 column grid, token gaps,\n `items-center` for icon+text rows.\n5. **Validate before returning.** Run `validate_code` on every file you\n wrote; fix and re-run until `valid: true`. Code that fails validation\n must not appear in your final answer. Report remaining warnings with\n one-line justifications.\n\n## Working style\n\n- Match the surrounding codebase's conventions (file layout, naming,\n client/server component boundaries) \u2014 read neighboring files first.\n- Mobile-first responsive, accessible labels on icon-only controls,\n user-facing copy in the requester's language.\n- Final report: files written, components used, notable token choices,\n the validate_code verdict per file, and any open questions (e.g. a\n pending custom-value confirmation).\n" };
37
+ }
38
+ });
39
+
29
40
  // node_modules/sisteransi/src/index.js
30
41
  var require_src = __commonJS({
31
42
  "node_modules/sisteransi/src/index.js"(exports2, module2) {
32
43
  "use strict";
44
+ init_define_AI_KIT_FILES();
33
45
  var ESC2 = "\x1B";
34
46
  var CSI2 = `${ESC2}[`;
35
47
  var beep = "\x07";
@@ -85,6 +97,7 @@ var require_src = __commonJS({
85
97
  // node_modules/picocolors/picocolors.js
86
98
  var require_picocolors = __commonJS({
87
99
  "node_modules/picocolors/picocolors.js"(exports2, module2) {
100
+ init_define_AI_KIT_FILES();
88
101
  var p2 = process || {};
89
102
  var argv = p2.argv || [];
90
103
  var env = p2.env || {};
@@ -158,6 +171,7 @@ var require_picocolors = __commonJS({
158
171
  var require_tokenize = __commonJS({
159
172
  "node_modules/postcss/lib/tokenize.js"(exports2, module2) {
160
173
  "use strict";
174
+ init_define_AI_KIT_FILES();
161
175
  var SINGLE_QUOTE = "'".charCodeAt(0);
162
176
  var DOUBLE_QUOTE = '"'.charCodeAt(0);
163
177
  var BACKSLASH = "\\".charCodeAt(0);
@@ -373,6 +387,7 @@ var require_tokenize = __commonJS({
373
387
  var require_terminal_highlight = __commonJS({
374
388
  "node_modules/postcss/lib/terminal-highlight.js"(exports2, module2) {
375
389
  "use strict";
390
+ init_define_AI_KIT_FILES();
376
391
  var pico = require_picocolors();
377
392
  var tokenizer = require_tokenize();
378
393
  var Input2;
@@ -435,6 +450,7 @@ var require_terminal_highlight = __commonJS({
435
450
  var require_css_syntax_error = __commonJS({
436
451
  "node_modules/postcss/lib/css-syntax-error.js"(exports2, module2) {
437
452
  "use strict";
453
+ init_define_AI_KIT_FILES();
438
454
  var pico = require_picocolors();
439
455
  var terminalHighlight = require_terminal_highlight();
440
456
  var CssSyntaxError2 = class _CssSyntaxError extends Error {
@@ -532,6 +548,7 @@ var require_css_syntax_error = __commonJS({
532
548
  var require_stringifier = __commonJS({
533
549
  "node_modules/postcss/lib/stringifier.js"(exports2, module2) {
534
550
  "use strict";
551
+ init_define_AI_KIT_FILES();
535
552
  var DEFAULT_RAW = {
536
553
  after: "\n",
537
554
  beforeClose: "\n",
@@ -836,6 +853,7 @@ var require_stringifier = __commonJS({
836
853
  var require_stringify = __commonJS({
837
854
  "node_modules/postcss/lib/stringify.js"(exports2, module2) {
838
855
  "use strict";
856
+ init_define_AI_KIT_FILES();
839
857
  var Stringifier = require_stringifier();
840
858
  function stringify2(node, builder) {
841
859
  let str = new Stringifier(builder);
@@ -850,6 +868,7 @@ var require_stringify = __commonJS({
850
868
  var require_symbols = __commonJS({
851
869
  "node_modules/postcss/lib/symbols.js"(exports2, module2) {
852
870
  "use strict";
871
+ init_define_AI_KIT_FILES();
853
872
  module2.exports.isClean = /* @__PURE__ */ Symbol("isClean");
854
873
  module2.exports.my = /* @__PURE__ */ Symbol("my");
855
874
  }
@@ -859,6 +878,7 @@ var require_symbols = __commonJS({
859
878
  var require_node = __commonJS({
860
879
  "node_modules/postcss/lib/node.js"(exports2, module2) {
861
880
  "use strict";
881
+ init_define_AI_KIT_FILES();
862
882
  var CssSyntaxError2 = require_css_syntax_error();
863
883
  var Stringifier = require_stringifier();
864
884
  var stringify2 = require_stringify();
@@ -1239,6 +1259,7 @@ var require_node = __commonJS({
1239
1259
  var require_comment = __commonJS({
1240
1260
  "node_modules/postcss/lib/comment.js"(exports2, module2) {
1241
1261
  "use strict";
1262
+ init_define_AI_KIT_FILES();
1242
1263
  var Node2 = require_node();
1243
1264
  var Comment2 = class extends Node2 {
1244
1265
  constructor(defaults) {
@@ -1255,6 +1276,7 @@ var require_comment = __commonJS({
1255
1276
  var require_declaration = __commonJS({
1256
1277
  "node_modules/postcss/lib/declaration.js"(exports2, module2) {
1257
1278
  "use strict";
1279
+ init_define_AI_KIT_FILES();
1258
1280
  var Node2 = require_node();
1259
1281
  var Declaration2 = class extends Node2 {
1260
1282
  get variable() {
@@ -1277,6 +1299,7 @@ var require_declaration = __commonJS({
1277
1299
  var require_container = __commonJS({
1278
1300
  "node_modules/postcss/lib/container.js"(exports2, module2) {
1279
1301
  "use strict";
1302
+ init_define_AI_KIT_FILES();
1280
1303
  var Comment2 = require_comment();
1281
1304
  var Declaration2 = require_declaration();
1282
1305
  var Node2 = require_node();
@@ -1662,6 +1685,7 @@ var require_container = __commonJS({
1662
1685
  var require_at_rule = __commonJS({
1663
1686
  "node_modules/postcss/lib/at-rule.js"(exports2, module2) {
1664
1687
  "use strict";
1688
+ init_define_AI_KIT_FILES();
1665
1689
  var Container2 = require_container();
1666
1690
  var AtRule2 = class extends Container2 {
1667
1691
  constructor(defaults) {
@@ -1687,6 +1711,7 @@ var require_at_rule = __commonJS({
1687
1711
  var require_document = __commonJS({
1688
1712
  "node_modules/postcss/lib/document.js"(exports2, module2) {
1689
1713
  "use strict";
1714
+ init_define_AI_KIT_FILES();
1690
1715
  var Container2 = require_container();
1691
1716
  var LazyResult;
1692
1717
  var Processor2;
@@ -1716,6 +1741,7 @@ var require_document = __commonJS({
1716
1741
  // node_modules/nanoid/non-secure/index.cjs
1717
1742
  var require_non_secure = __commonJS({
1718
1743
  "node_modules/nanoid/non-secure/index.cjs"(exports2, module2) {
1744
+ init_define_AI_KIT_FILES();
1719
1745
  var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
1720
1746
  var customAlphabet = (alphabet, defaultSize = 21) => {
1721
1747
  return (size = defaultSize) => {
@@ -1742,6 +1768,7 @@ var require_non_secure = __commonJS({
1742
1768
  // node_modules/source-map-js/lib/base64.js
1743
1769
  var require_base64 = __commonJS({
1744
1770
  "node_modules/source-map-js/lib/base64.js"(exports2) {
1771
+ init_define_AI_KIT_FILES();
1745
1772
  var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
1746
1773
  exports2.encode = function(number) {
1747
1774
  if (0 <= number && number < intToCharMap.length) {
@@ -1783,6 +1810,7 @@ var require_base64 = __commonJS({
1783
1810
  // node_modules/source-map-js/lib/base64-vlq.js
1784
1811
  var require_base64_vlq = __commonJS({
1785
1812
  "node_modules/source-map-js/lib/base64-vlq.js"(exports2) {
1813
+ init_define_AI_KIT_FILES();
1786
1814
  var base64 = require_base64();
1787
1815
  var VLQ_BASE_SHIFT = 5;
1788
1816
  var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
@@ -1837,6 +1865,7 @@ var require_base64_vlq = __commonJS({
1837
1865
  // node_modules/source-map-js/lib/util.js
1838
1866
  var require_util = __commonJS({
1839
1867
  "node_modules/source-map-js/lib/util.js"(exports2) {
1868
+ init_define_AI_KIT_FILES();
1840
1869
  function getArg(aArgs, aName, aDefaultValue) {
1841
1870
  if (aName in aArgs) {
1842
1871
  return aArgs[aName];
@@ -2217,6 +2246,7 @@ var require_util = __commonJS({
2217
2246
  // node_modules/source-map-js/lib/array-set.js
2218
2247
  var require_array_set = __commonJS({
2219
2248
  "node_modules/source-map-js/lib/array-set.js"(exports2) {
2249
+ init_define_AI_KIT_FILES();
2220
2250
  var util = require_util();
2221
2251
  var has = Object.prototype.hasOwnProperty;
2222
2252
  var hasNativeMap = typeof Map !== "undefined";
@@ -2287,6 +2317,7 @@ var require_array_set = __commonJS({
2287
2317
  // node_modules/source-map-js/lib/mapping-list.js
2288
2318
  var require_mapping_list = __commonJS({
2289
2319
  "node_modules/source-map-js/lib/mapping-list.js"(exports2) {
2320
+ init_define_AI_KIT_FILES();
2290
2321
  var util = require_util();
2291
2322
  function generatedPositionAfter(mappingA, mappingB) {
2292
2323
  var lineA = mappingA.generatedLine;
@@ -2326,6 +2357,7 @@ var require_mapping_list = __commonJS({
2326
2357
  // node_modules/source-map-js/lib/source-map-generator.js
2327
2358
  var require_source_map_generator = __commonJS({
2328
2359
  "node_modules/source-map-js/lib/source-map-generator.js"(exports2) {
2360
+ init_define_AI_KIT_FILES();
2329
2361
  var base64VLQ = require_base64_vlq();
2330
2362
  var util = require_util();
2331
2363
  var ArraySet = require_array_set().ArraySet;
@@ -2619,6 +2651,7 @@ var require_source_map_generator = __commonJS({
2619
2651
  // node_modules/source-map-js/lib/binary-search.js
2620
2652
  var require_binary_search = __commonJS({
2621
2653
  "node_modules/source-map-js/lib/binary-search.js"(exports2) {
2654
+ init_define_AI_KIT_FILES();
2622
2655
  exports2.GREATEST_LOWER_BOUND = 1;
2623
2656
  exports2.LEAST_UPPER_BOUND = 2;
2624
2657
  function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
@@ -2675,6 +2708,7 @@ var require_binary_search = __commonJS({
2675
2708
  // node_modules/source-map-js/lib/quick-sort.js
2676
2709
  var require_quick_sort = __commonJS({
2677
2710
  "node_modules/source-map-js/lib/quick-sort.js"(exports2) {
2711
+ init_define_AI_KIT_FILES();
2678
2712
  function SortTemplate(comparator) {
2679
2713
  function swap(ary, x, y2) {
2680
2714
  var temp = ary[x];
@@ -2724,6 +2758,7 @@ var require_quick_sort = __commonJS({
2724
2758
  // node_modules/source-map-js/lib/source-map-consumer.js
2725
2759
  var require_source_map_consumer = __commonJS({
2726
2760
  "node_modules/source-map-js/lib/source-map-consumer.js"(exports2) {
2761
+ init_define_AI_KIT_FILES();
2727
2762
  var util = require_util();
2728
2763
  var binarySearch = require_binary_search();
2729
2764
  var ArraySet = require_array_set().ArraySet;
@@ -3371,6 +3406,7 @@ var require_source_map_consumer = __commonJS({
3371
3406
  // node_modules/source-map-js/lib/source-node.js
3372
3407
  var require_source_node = __commonJS({
3373
3408
  "node_modules/source-map-js/lib/source-node.js"(exports2) {
3409
+ init_define_AI_KIT_FILES();
3374
3410
  var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
3375
3411
  var util = require_util();
3376
3412
  var REGEX_NEWLINE = /(\r?\n)/;
@@ -3636,6 +3672,7 @@ var require_source_node = __commonJS({
3636
3672
  // node_modules/source-map-js/source-map.js
3637
3673
  var require_source_map = __commonJS({
3638
3674
  "node_modules/source-map-js/source-map.js"(exports2) {
3675
+ init_define_AI_KIT_FILES();
3639
3676
  exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
3640
3677
  exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
3641
3678
  exports2.SourceNode = require_source_node().SourceNode;
@@ -3646,6 +3683,7 @@ var require_source_map = __commonJS({
3646
3683
  var require_previous_map = __commonJS({
3647
3684
  "node_modules/postcss/lib/previous-map.js"(exports2, module2) {
3648
3685
  "use strict";
3686
+ init_define_AI_KIT_FILES();
3649
3687
  var { existsSync, readFileSync } = require("fs");
3650
3688
  var { dirname, join } = require("path");
3651
3689
  var { SourceMapConsumer, SourceMapGenerator } = require_source_map();
@@ -3766,6 +3804,7 @@ var require_previous_map = __commonJS({
3766
3804
  var require_input = __commonJS({
3767
3805
  "node_modules/postcss/lib/input.js"(exports2, module2) {
3768
3806
  "use strict";
3807
+ init_define_AI_KIT_FILES();
3769
3808
  var { nanoid } = require_non_secure();
3770
3809
  var { isAbsolute, resolve } = require("path");
3771
3810
  var { SourceMapConsumer, SourceMapGenerator } = require_source_map();
@@ -3988,6 +4027,7 @@ var require_input = __commonJS({
3988
4027
  var require_root = __commonJS({
3989
4028
  "node_modules/postcss/lib/root.js"(exports2, module2) {
3990
4029
  "use strict";
4030
+ init_define_AI_KIT_FILES();
3991
4031
  var Container2 = require_container();
3992
4032
  var LazyResult;
3993
4033
  var Processor2;
@@ -4042,6 +4082,7 @@ var require_root = __commonJS({
4042
4082
  var require_list = __commonJS({
4043
4083
  "node_modules/postcss/lib/list.js"(exports2, module2) {
4044
4084
  "use strict";
4085
+ init_define_AI_KIT_FILES();
4045
4086
  var list2 = {
4046
4087
  comma(string) {
4047
4088
  return list2.split(string, [","], true);
@@ -4098,6 +4139,7 @@ var require_list = __commonJS({
4098
4139
  var require_rule = __commonJS({
4099
4140
  "node_modules/postcss/lib/rule.js"(exports2, module2) {
4100
4141
  "use strict";
4142
+ init_define_AI_KIT_FILES();
4101
4143
  var Container2 = require_container();
4102
4144
  var list2 = require_list();
4103
4145
  var Rule2 = class extends Container2 {
@@ -4125,6 +4167,7 @@ var require_rule = __commonJS({
4125
4167
  var require_fromJSON = __commonJS({
4126
4168
  "node_modules/postcss/lib/fromJSON.js"(exports2, module2) {
4127
4169
  "use strict";
4170
+ init_define_AI_KIT_FILES();
4128
4171
  var AtRule2 = require_at_rule();
4129
4172
  var Comment2 = require_comment();
4130
4173
  var Declaration2 = require_declaration();
@@ -4181,6 +4224,7 @@ var require_fromJSON = __commonJS({
4181
4224
  var require_map_generator = __commonJS({
4182
4225
  "node_modules/postcss/lib/map-generator.js"(exports2, module2) {
4183
4226
  "use strict";
4227
+ init_define_AI_KIT_FILES();
4184
4228
  var { dirname, relative, resolve, sep } = require("path");
4185
4229
  var { SourceMapConsumer, SourceMapGenerator } = require_source_map();
4186
4230
  var { pathToFileURL } = require("url");
@@ -4498,6 +4542,7 @@ var require_map_generator = __commonJS({
4498
4542
  var require_parser = __commonJS({
4499
4543
  "node_modules/postcss/lib/parser.js"(exports2, module2) {
4500
4544
  "use strict";
4545
+ init_define_AI_KIT_FILES();
4501
4546
  var AtRule2 = require_at_rule();
4502
4547
  var Comment2 = require_comment();
4503
4548
  var Declaration2 = require_declaration();
@@ -5032,6 +5077,7 @@ var require_parser = __commonJS({
5032
5077
  var require_parse = __commonJS({
5033
5078
  "node_modules/postcss/lib/parse.js"(exports2, module2) {
5034
5079
  "use strict";
5080
+ init_define_AI_KIT_FILES();
5035
5081
  var Container2 = require_container();
5036
5082
  var Input2 = require_input();
5037
5083
  var Parser = require_parser();
@@ -5066,6 +5112,7 @@ var require_parse = __commonJS({
5066
5112
  var require_warning = __commonJS({
5067
5113
  "node_modules/postcss/lib/warning.js"(exports2, module2) {
5068
5114
  "use strict";
5115
+ init_define_AI_KIT_FILES();
5069
5116
  var Warning2 = class {
5070
5117
  constructor(text, opts = {}) {
5071
5118
  this.type = "warning";
@@ -5102,6 +5149,7 @@ var require_warning = __commonJS({
5102
5149
  var require_result = __commonJS({
5103
5150
  "node_modules/postcss/lib/result.js"(exports2, module2) {
5104
5151
  "use strict";
5152
+ init_define_AI_KIT_FILES();
5105
5153
  var Warning2 = require_warning();
5106
5154
  var Result2 = class {
5107
5155
  get content() {
@@ -5141,6 +5189,7 @@ var require_result = __commonJS({
5141
5189
  var require_warn_once = __commonJS({
5142
5190
  "node_modules/postcss/lib/warn-once.js"(exports2, module2) {
5143
5191
  "use strict";
5192
+ init_define_AI_KIT_FILES();
5144
5193
  var printed = {};
5145
5194
  module2.exports = function warnOnce(message) {
5146
5195
  if (printed[message]) return;
@@ -5156,6 +5205,7 @@ var require_warn_once = __commonJS({
5156
5205
  var require_lazy_result = __commonJS({
5157
5206
  "node_modules/postcss/lib/lazy-result.js"(exports2, module2) {
5158
5207
  "use strict";
5208
+ init_define_AI_KIT_FILES();
5159
5209
  var Container2 = require_container();
5160
5210
  var Document2 = require_document();
5161
5211
  var MapGenerator = require_map_generator();
@@ -5630,6 +5680,7 @@ var require_lazy_result = __commonJS({
5630
5680
  var require_no_work_result = __commonJS({
5631
5681
  "node_modules/postcss/lib/no-work-result.js"(exports2, module2) {
5632
5682
  "use strict";
5683
+ init_define_AI_KIT_FILES();
5633
5684
  var MapGenerator = require_map_generator();
5634
5685
  var parse4 = require_parse();
5635
5686
  var Result2 = require_result();
@@ -5746,6 +5797,7 @@ var require_no_work_result = __commonJS({
5746
5797
  var require_processor = __commonJS({
5747
5798
  "node_modules/postcss/lib/processor.js"(exports2, module2) {
5748
5799
  "use strict";
5800
+ init_define_AI_KIT_FILES();
5749
5801
  var Document2 = require_document();
5750
5802
  var LazyResult = require_lazy_result();
5751
5803
  var NoWorkResult = require_no_work_result();
@@ -5804,6 +5856,7 @@ var require_processor = __commonJS({
5804
5856
  var require_postcss = __commonJS({
5805
5857
  "node_modules/postcss/lib/postcss.js"(exports2, module2) {
5806
5858
  "use strict";
5859
+ init_define_AI_KIT_FILES();
5807
5860
  var AtRule2 = require_at_rule();
5808
5861
  var Comment2 = require_comment();
5809
5862
  var Container2 = require_container();
@@ -5888,17 +5941,35 @@ var require_postcss = __commonJS({
5888
5941
  }
5889
5942
  });
5890
5943
 
5944
+ // cli/src/index.ts
5945
+ init_define_AI_KIT_FILES();
5946
+
5891
5947
  // cli/src/commands/init.ts
5948
+ init_define_AI_KIT_FILES();
5892
5949
  var import_node_fs5 = __toESM(require("node:fs"));
5893
5950
  var import_node_path5 = __toESM(require("node:path"));
5894
5951
 
5952
+ // node_modules/@clack/prompts/dist/index.mjs
5953
+ init_define_AI_KIT_FILES();
5954
+
5895
5955
  // node_modules/@clack/core/dist/index.mjs
5956
+ init_define_AI_KIT_FILES();
5896
5957
  var import_node_util = require("node:util");
5897
5958
  var import_node_process = require("node:process");
5898
5959
  var _ = __toESM(require("node:readline"), 1);
5899
5960
  var import_node_readline = __toESM(require("node:readline"), 1);
5900
5961
 
5962
+ // node_modules/fast-wrap-ansi/lib/main.js
5963
+ init_define_AI_KIT_FILES();
5964
+
5965
+ // node_modules/fast-string-width/dist/index.js
5966
+ init_define_AI_KIT_FILES();
5967
+
5968
+ // node_modules/fast-string-truncated-width/dist/index.js
5969
+ init_define_AI_KIT_FILES();
5970
+
5901
5971
  // node_modules/fast-string-truncated-width/dist/utils.js
5972
+ init_define_AI_KIT_FILES();
5902
5973
  var isAmbiguous = (x) => {
5903
5974
  return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
5904
5975
  };
@@ -6856,6 +6927,7 @@ ${c2}
6856
6927
  var import_picocolors = __toESM(require_picocolors());
6857
6928
 
6858
6929
  // cli/src/utils/config.ts
6930
+ init_define_AI_KIT_FILES();
6859
6931
  var import_node_fs = __toESM(require("node:fs"));
6860
6932
  var import_node_path = __toESM(require("node:path"));
6861
6933
  var CONFIG_FILE = "7onic.json";
@@ -6886,7 +6958,11 @@ function configExists(cwd) {
6886
6958
  return import_node_fs.default.existsSync(import_node_path.default.join(cwd, CONFIG_FILE));
6887
6959
  }
6888
6960
 
6961
+ // cli/src/utils/detect-framework.ts
6962
+ init_define_AI_KIT_FILES();
6963
+
6889
6964
  // cli/src/utils/project-helpers.ts
6965
+ init_define_AI_KIT_FILES();
6890
6966
  var import_node_fs2 = __toESM(require("node:fs"));
6891
6967
  var import_node_path2 = __toESM(require("node:path"));
6892
6968
  function pathExists(cwd, relativePath) {
@@ -6939,6 +7015,7 @@ function detectFramework(cwd) {
6939
7015
  }
6940
7016
 
6941
7017
  // cli/src/utils/detect-tailwind.ts
7018
+ init_define_AI_KIT_FILES();
6942
7019
  var V3_CONFIG_FILES = [
6943
7020
  "tailwind.config.js",
6944
7021
  "tailwind.config.ts",
@@ -6957,6 +7034,7 @@ function detectTailwind(cwd) {
6957
7034
  }
6958
7035
 
6959
7036
  // cli/src/utils/detect-pm.ts
7037
+ init_define_AI_KIT_FILES();
6960
7038
  var import_node_fs3 = __toESM(require("node:fs"));
6961
7039
  var import_node_path3 = __toESM(require("node:path"));
6962
7040
  var LOCKFILES = {
@@ -6976,6 +7054,7 @@ function detectPackageManager(cwd) {
6976
7054
  }
6977
7055
 
6978
7056
  // cli/src/utils/install-deps.ts
7057
+ init_define_AI_KIT_FILES();
6979
7058
  var import_node_child_process = require("node:child_process");
6980
7059
  function installDeps(deps, options) {
6981
7060
  if (deps.length === 0) return;
@@ -6991,6 +7070,7 @@ function installDeps(deps, options) {
6991
7070
  }
6992
7071
 
6993
7072
  // cli/src/utils/graceful-exit.ts
7073
+ init_define_AI_KIT_FILES();
6994
7074
  var LINK_PREFIX = "See: ";
6995
7075
  var SECTION_SEPARATOR = "\n\n";
6996
7076
  var DEFAULT_CANCEL_MESSAGE = "Init cancelled.";
@@ -7010,6 +7090,7 @@ function userCancel(message = DEFAULT_CANCEL_MESSAGE) {
7010
7090
  }
7011
7091
 
7012
7092
  // cli/src/utils/css-imports-builder.ts
7093
+ init_define_AI_KIT_FILES();
7013
7094
  var TOKENS = "@7onic-ui/tokens";
7014
7095
  var TOKEN_IMPORTS = {
7015
7096
  3: [`@import '${TOKENS}/css/all.css';`],
@@ -7032,7 +7113,11 @@ function requiredTokenImports(version) {
7032
7113
  return TOKEN_IMPORTS[version];
7033
7114
  }
7034
7115
 
7116
+ // cli/src/utils/star-reset-wrap.ts
7117
+ init_define_AI_KIT_FILES();
7118
+
7035
7119
  // node_modules/postcss/lib/postcss.mjs
7120
+ init_define_AI_KIT_FILES();
7036
7121
  var import_postcss = __toESM(require_postcss(), 1);
7037
7122
  var postcss_default = import_postcss.default;
7038
7123
  var stringify = import_postcss.default.stringify;
@@ -7086,7 +7171,17 @@ function wrapStarReset(input) {
7086
7171
  };
7087
7172
  }
7088
7173
 
7174
+ // cli/src/utils/jsonc-parse.ts
7175
+ init_define_AI_KIT_FILES();
7176
+
7177
+ // node_modules/jsonc-parser/lib/esm/main.js
7178
+ init_define_AI_KIT_FILES();
7179
+
7180
+ // node_modules/jsonc-parser/lib/esm/impl/format.js
7181
+ init_define_AI_KIT_FILES();
7182
+
7089
7183
  // node_modules/jsonc-parser/lib/esm/impl/scanner.js
7184
+ init_define_AI_KIT_FILES();
7090
7185
  function createScanner(text, ignoreTrivia = false) {
7091
7186
  const len = text.length;
7092
7187
  let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
@@ -7508,6 +7603,7 @@ var CharacterCodes;
7508
7603
  })(CharacterCodes || (CharacterCodes = {}));
7509
7604
 
7510
7605
  // node_modules/jsonc-parser/lib/esm/impl/string-intern.js
7606
+ init_define_AI_KIT_FILES();
7511
7607
  var cachedSpaces = new Array(20).fill(0).map((_2, index) => {
7512
7608
  return " ".repeat(index);
7513
7609
  });
@@ -7537,7 +7633,11 @@ var cachedBreakLinesWithSpaces = {
7537
7633
  }
7538
7634
  };
7539
7635
 
7636
+ // node_modules/jsonc-parser/lib/esm/impl/edit.js
7637
+ init_define_AI_KIT_FILES();
7638
+
7540
7639
  // node_modules/jsonc-parser/lib/esm/impl/parser.js
7640
+ init_define_AI_KIT_FILES();
7541
7641
  var ParseOptions;
7542
7642
  (function(ParseOptions2) {
7543
7643
  ParseOptions2.DEFAULT = {
@@ -8000,6 +8100,7 @@ function parseJsonc(source) {
8000
8100
  }
8001
8101
 
8002
8102
  // cli/src/utils/vite-template-cleanup.ts
8103
+ init_define_AI_KIT_FILES();
8003
8104
  var import_node_fs4 = __toESM(require("node:fs"));
8004
8105
  var import_node_path4 = __toESM(require("node:path"));
8005
8106
  var VITE_INDEX_CSS_PATTERNS = [
@@ -8146,17 +8247,18 @@ function pluralize(count, word) {
8146
8247
  }
8147
8248
  function parseArgs(args) {
8148
8249
  const flagYes = args.includes("--yes") || args.includes("-y");
8250
+ const flagClaude = args.includes("--claude");
8149
8251
  const tailwindFlagIdx = args.indexOf("--tailwind");
8150
8252
  if (tailwindFlagIdx === -1) {
8151
- return { flagYes, forcedTailwindVersion: null, invalidTailwindFlag: null };
8253
+ return { flagYes, flagClaude, forcedTailwindVersion: null, invalidTailwindFlag: null };
8152
8254
  }
8153
8255
  const raw = args[tailwindFlagIdx + 1] ?? "";
8154
- if (raw === "v3" || raw === "3") return { flagYes, forcedTailwindVersion: 3, invalidTailwindFlag: null };
8155
- if (raw === "v4" || raw === "4") return { flagYes, forcedTailwindVersion: 4, invalidTailwindFlag: null };
8156
- return { flagYes, forcedTailwindVersion: null, invalidTailwindFlag: raw };
8256
+ if (raw === "v3" || raw === "3") return { flagYes, flagClaude, forcedTailwindVersion: 3, invalidTailwindFlag: null };
8257
+ if (raw === "v4" || raw === "4") return { flagYes, flagClaude, forcedTailwindVersion: 4, invalidTailwindFlag: null };
8258
+ return { flagYes, flagClaude, forcedTailwindVersion: null, invalidTailwindFlag: raw };
8157
8259
  }
8158
8260
  async function init(args) {
8159
- const { flagYes, forcedTailwindVersion, invalidTailwindFlag } = parseArgs(args);
8261
+ const { flagYes, flagClaude, forcedTailwindVersion, invalidTailwindFlag } = parseArgs(args);
8160
8262
  mt(import_picocolors.default.bold("7onic init"));
8161
8263
  if (invalidTailwindFlag !== null) {
8162
8264
  O2.warn(`Invalid --tailwind value: "${invalidTailwindFlag || "(empty)"}". Use v3 or v4.`);
@@ -8233,6 +8335,7 @@ async function init(args) {
8233
8335
  };
8234
8336
  writeConfig(projectRoot, finalConfig);
8235
8337
  O2.success("Created 7onic.json");
8338
+ await maybeInstallAiKit(projectRoot, { flagYes, flagClaude });
8236
8339
  gt(`Done! Run ${import_picocolors.default.cyan("npx 7onic add <component>")} to add components.`);
8237
8340
  }
8238
8341
  async function resolveConfig(projectRoot, { flagYes, forcedTailwindVersion, tailwind }) {
@@ -8518,13 +8621,48 @@ function resolveAliasPath(projectRoot, alias) {
8518
8621
  if (!alias.startsWith("@/")) return null;
8519
8622
  return import_node_path5.default.join(projectRoot, "src", alias.slice(2));
8520
8623
  }
8624
+ async function maybeInstallAiKit(projectRoot, opts) {
8625
+ let install = opts.flagClaude;
8626
+ if (!install && !opts.flagYes) {
8627
+ const answer = await ot2({
8628
+ message: "Install the 7onic AI Kit (.claude/ skills + design agent for Claude Code and other AI agents)?",
8629
+ initialValue: false
8630
+ });
8631
+ if (q(answer)) return;
8632
+ install = answer;
8633
+ }
8634
+ if (!install) return;
8635
+ let created = 0;
8636
+ let updated = 0;
8637
+ let unchanged = 0;
8638
+ for (const [rel, content] of Object.entries(define_AI_KIT_FILES_default)) {
8639
+ const dest = import_node_path5.default.join(projectRoot, ".claude", rel);
8640
+ import_node_fs5.default.mkdirSync(import_node_path5.default.dirname(dest), { recursive: true });
8641
+ if (import_node_fs5.default.existsSync(dest)) {
8642
+ if (import_node_fs5.default.readFileSync(dest, "utf8") === content) {
8643
+ unchanged++;
8644
+ continue;
8645
+ }
8646
+ updated++;
8647
+ } else {
8648
+ created++;
8649
+ }
8650
+ import_node_fs5.default.writeFileSync(dest, content);
8651
+ }
8652
+ O2.success(
8653
+ `AI Kit installed to .claude/ (${created} created, ${updated} updated, ${unchanged} unchanged)`
8654
+ );
8655
+ O2.info("Tip: on Claude Code, the 7onic-design plugin provides the same kit plus the MCP server.");
8656
+ }
8521
8657
 
8522
8658
  // cli/src/commands/add.ts
8659
+ init_define_AI_KIT_FILES();
8523
8660
  var import_node_fs6 = __toESM(require("node:fs"));
8524
8661
  var import_node_path6 = __toESM(require("node:path"));
8525
8662
  var import_picocolors3 = __toESM(require_picocolors());
8526
8663
 
8527
8664
  // cli/src/utils/rewrite-imports.ts
8665
+ init_define_AI_KIT_FILES();
8528
8666
  function rewriteImports(content, utilsAlias) {
8529
8667
  return content.replace(
8530
8668
  /from ['"]@\/lib\/utils['"]/g,
@@ -8533,6 +8671,7 @@ function rewriteImports(content, utilsAlias) {
8533
8671
  }
8534
8672
 
8535
8673
  // cli/src/utils/logger.ts
8674
+ init_define_AI_KIT_FILES();
8536
8675
  var import_picocolors2 = __toESM(require_picocolors());
8537
8676
  var logger = {
8538
8677
  info(msg) {
@@ -8556,6 +8695,7 @@ var logger = {
8556
8695
  };
8557
8696
 
8558
8697
  // cli/src/registry/index.ts
8698
+ init_define_AI_KIT_FILES();
8559
8699
  var registry = {
8560
8700
  "accordion": {
8561
8701
  name: "accordion",
@@ -21109,7 +21249,7 @@ function showCompanionHints(names) {
21109
21249
 
21110
21250
  // cli/src/index.ts
21111
21251
  var import_picocolors4 = __toESM(require_picocolors());
21112
- var VERSION = "0.1.13";
21252
+ var VERSION = "0.1.16";
21113
21253
  var HELP = `
21114
21254
  ${import_picocolors4.default.bold("7onic")} \u2014 Add 7onic design system components to your project
21115
21255
 
@@ -21123,6 +21263,7 @@ ${import_picocolors4.default.bold("Commands:")}
21123
21263
  ${import_picocolors4.default.bold("Init options:")}
21124
21264
  --tailwind v3|v4 Set Tailwind version (default: auto-detect)
21125
21265
  --yes, -y Skip prompts, use defaults
21266
+ --claude Install the AI Kit (.claude/ skills + agent) without asking
21126
21267
 
21127
21268
  ${import_picocolors4.default.bold("Add options:")}
21128
21269
  --all Add all components
@@ -21136,6 +21277,7 @@ ${import_picocolors4.default.bold("Global options:")}
21136
21277
  ${import_picocolors4.default.bold("Examples:")}
21137
21278
  npx 7onic init
21138
21279
  npx 7onic init --tailwind v3 --yes
21280
+ npx 7onic init --claude
21139
21281
  npx 7onic add button card input
21140
21282
  npx 7onic add --all
21141
21283
  `;
package/llms.txt CHANGED
@@ -26,6 +26,7 @@ Initialize 7onic in your project (creates `7onic.json`, installs base dependenci
26
26
  ```bash
27
27
  npx 7onic init
28
28
  npx 7onic init --tailwind v3 --yes # Explicit v3, skip prompts
29
+ npx 7onic init --claude # Also install the AI Kit (.claude/ skills + design agent)
29
30
  ```
30
31
 
31
32
  The exact init steps are version-sensitive — always defer to the CLI / install pages above.
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "7onic",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "description": "CLI for adding 7onic design system components to your project",
5
5
  "bin": {
6
6
  "7onic": "./dist/index.js"
7
7
  },
8
- "files": ["dist", "llms.txt"],
9
- "engines": { "node": ">=18" },
8
+ "files": [
9
+ "dist",
10
+ "llms.txt"
11
+ ],
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
10
15
  "author": "7onic",
11
16
  "license": "MIT",
12
17
  "homepage": "https://7onic.design",