{"_id":"@bark-com/component-promoter","_rev":"6-f2e31d2eac636afdf5931885536a7c73","name":"@bark-com/component-promoter","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@bark-com/component-promoter","version":"0.1.0","keywords":["bark","design-system","shadcn","component","cli"],"author":"","license":"MIT","_id":"@bark-com/component-promoter@0.1.0","maintainers":[{"name":"naimmustafa-bark","email":"naim.mustafa@bark.com"},{"name":"brianmcnestry-bark","email":"brian.mcnestry@bark.com"},{"name":"ghattrellbark","email":"george.hattrell@bark.com"},{"name":"michael.crowther","email":"michael.crowther@bark.com"},{"name":"manu-d","email":"manu.dubey@bark.com"},{"name":"oyharris","email":"oyin.harris@bark.com"}],"homepage":"https://github.com/Bark-com/design-system#readme","bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"bin":{"promote-component":"dist/cli.js"},"dist":{"shasum":"3c451737a5aed9ffb622ccd4a848b346088dd2b7","tarball":"https://registry.npmjs.org/@bark-com/component-promoter/-/component-promoter-0.1.0.tgz","fileCount":20,"integrity":"sha512-nr+dG5N8vpHr7NGypiJTruCRLTY4/9m81hwLjMARS2GOJcdyyXrp+dtu5cuD2vsRKIc9A6bVwCNmWaATcLpP3A==","signatures":[{"sig":"MEQCIHyg88tOypEbJKt0ML6+yeHkPAt3XARGyRdkF6dt/XXeAiBNBWzE6bZ1nhJdwAmVDuDx9fSs2ROuWpHlVQz+OMJ9OQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21486},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"gitHead":"132bc2fa2c4ae886a91499578f9bfcb0cbe7d9f4","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ghattrellbark","email":"george.hattrell@bark.com"},"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"_npmVersion":"10.9.4","description":"CLI tool to promote components from product repos to the Bark Design System registry","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","inquirer":"^12.6.0","commander":"^13.1.0","fast-glob":"^3.3.3","typescript":"^5.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.8","@types/node":"^24.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/component-promoter_0.1.0_1765366290952_0.7107774239917595","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bark-com/component-promoter","version":"0.1.1","keywords":["bark","design-system","shadcn","component","cli"],"author":"","license":"MIT","_id":"@bark-com/component-promoter@0.1.1","maintainers":[{"name":"naimmustafa-bark","email":"naim.mustafa@bark.com"},{"name":"brianmcnestry-bark","email":"brian.mcnestry@bark.com"},{"name":"ghattrellbark","email":"george.hattrell@bark.com"},{"name":"michael.crowther","email":"michael.crowther@bark.com"},{"name":"manu-d","email":"manu.dubey@bark.com"},{"name":"oyharris","email":"oyin.harris@bark.com"}],"homepage":"https://github.com/Bark-com/design-system#readme","bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"bin":{"promote-component":"dist/cli.js"},"dist":{"shasum":"30576a1372fb80d38a5cfcbb85e4faebc4630ed5","tarball":"https://registry.npmjs.org/@bark-com/component-promoter/-/component-promoter-0.1.1.tgz","fileCount":20,"integrity":"sha512-oIjymVU/zQHpH2mSdFl9kn25XANgyTeYEjk2cVKjcL8vkBExI7NKxdNxSKXgLul3mvHFdffbnFUJ/+iJ1KIFmA==","signatures":[{"sig":"MEQCIE0OHSE6gzlOlo4uhLhZk2I14VPPbp7ZaKspRJc6nvkCAiB5hBZZ2m/m3RLQ0TLPbLashTgmnY9Ja6RXvuc9vGMBpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21470},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"gitHead":"fe2547daff69d8b0dded32c166138f4a4f37ac77","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ghattrellbark","email":"george.hattrell@bark.com"},"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"_npmVersion":"10.9.4","description":"CLI tool to promote components from product repos to the Bark Design System registry","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","inquirer":"^12.6.0","commander":"^13.1.0","fast-glob":"^3.3.3","typescript":"^5.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.8","@types/node":"^24.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/component-promoter_0.1.1_1766145434295_0.778387099469497","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bark-com/component-promoter","version":"0.1.2","keywords":["bark","design-system","shadcn","component","cli"],"author":"","license":"MIT","_id":"@bark-com/component-promoter@0.1.2","maintainers":[{"name":"naimmustafa-bark","email":"naim.mustafa@bark.com"},{"name":"brianmcnestry-bark","email":"brian.mcnestry@bark.com"},{"name":"ghattrellbark","email":"george.hattrell@bark.com"},{"name":"michael.crowther","email":"michael.crowther@bark.com"},{"name":"manu-d","email":"manu.dubey@bark.com"},{"name":"oyharris","email":"oyin.harris@bark.com"}],"homepage":"https://github.com/Bark-com/design-system#readme","bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"bin":{"promote-component":"dist/cli.js"},"dist":{"shasum":"142a959e3fa6f252974dcf6b234eb9728204f073","tarball":"https://registry.npmjs.org/@bark-com/component-promoter/-/component-promoter-0.1.2.tgz","fileCount":20,"integrity":"sha512-wJreBKvkIQtskgf1hjflnrUDBxLvIW1GM17oUBHHZ7ZImiaMav/3vhRw3D8Fz2O2tqvk270UHSPEE6w7+9eCrw==","signatures":[{"sig":"MEYCIQCitF/oNOn26zqyApDS0Z5NFB7Vz5Qfjsfa9ekDU278IQIhAKYJbmvMIefuIBni2Nw+1MXMxjaXYNS5sdDTIaTmbJA1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21690},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"gitHead":"3c40794b3559218369f4e236263c724c0c9e82e5","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ghattrellbark","email":"george.hattrell@bark.com"},"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"_npmVersion":"10.9.4","description":"CLI tool to promote components from product repos to the Bark Design System registry","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","inquirer":"^12.6.0","commander":"^13.1.0","fast-glob":"^3.3.3","typescript":"^5.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.8","@types/node":"^24.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/component-promoter_0.1.2_1766162771553_0.9242925133810402","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@bark-com/component-promoter","version":"0.1.3","keywords":["bark","design-system","shadcn","component","cli"],"author":"","license":"MIT","_id":"@bark-com/component-promoter@0.1.3","maintainers":[{"name":"naimmustafa-bark","email":"naim.mustafa@bark.com"},{"name":"brianmcnestry-bark","email":"brian.mcnestry@bark.com"},{"name":"ghattrellbark","email":"george.hattrell@bark.com"},{"name":"michael.crowther","email":"michael.crowther@bark.com"},{"name":"manu-d","email":"manu.dubey@bark.com"},{"name":"oyharris","email":"oyin.harris@bark.com"}],"homepage":"https://github.com/Bark-com/design-system#readme","bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"bin":{"promote-component":"dist/cli.js"},"dist":{"shasum":"fc2d60cc83a91bb6966dcd4a3d4845ddf953257a","tarball":"https://registry.npmjs.org/@bark-com/component-promoter/-/component-promoter-0.1.3.tgz","fileCount":20,"integrity":"sha512-bRBeJCAJtNKJppQ+SNhJ1crNFnPevw/8dD4aiNGv903Lni6D8tEESJ9iV4C+faNxhDAYTqwP4OProm2BR9a+xQ==","signatures":[{"sig":"MEYCIQDCckjyTxNT9mPSkB8I8kUpxCH2tNkHMagh/YdtaYtIWwIhAMr8Rzh1PdeQyz33RLjB8OZBoOnkp008r4RhRy+FZiWb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"gitHead":"3a6cdef636b0e3b0b24faca686a5bb4d7b57aedc","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ghattrellbark","email":"george.hattrell@bark.com"},"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"_npmVersion":"10.9.4","description":"CLI tool to promote components from product repos to the Bark Design System registry","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","inquirer":"^12.6.0","commander":"^13.1.0","fast-glob":"^3.3.3","typescript":"^5.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.8","@types/node":"^24.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/component-promoter_0.1.3_1766163712554_0.5168046038321621","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@bark-com/component-promoter","version":"0.1.4","keywords":["bark","design-system","shadcn","component","cli"],"author":"","license":"MIT","_id":"@bark-com/component-promoter@0.1.4","maintainers":[{"name":"naimmustafa-bark","email":"naim.mustafa@bark.com"},{"name":"brianmcnestry-bark","email":"brian.mcnestry@bark.com"},{"name":"ghattrellbark","email":"george.hattrell@bark.com"},{"name":"michael.crowther","email":"michael.crowther@bark.com"},{"name":"manu-d","email":"manu.dubey@bark.com"},{"name":"oyharris","email":"oyin.harris@bark.com"}],"homepage":"https://github.com/Bark-com/design-system#readme","bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"bin":{"promote-component":"dist/cli.js"},"dist":{"shasum":"3d20e56f582b4fc00456935ee91a4c30128c7096","tarball":"https://registry.npmjs.org/@bark-com/component-promoter/-/component-promoter-0.1.4.tgz","fileCount":22,"integrity":"sha512-oHuxfHx/Q8gPhV5ZPP7lu3fA18S5Rbb23EEQRhzeupOIdqLwNCfRMV3CDHETzGaygAqbs6ETRlYH1yYfVCaWsw==","signatures":[{"sig":"MEYCIQD54x4E2Fl+ddCerTKvytsUAY4x/+TdhZrdy9HRQYZG/wIhAKee3RA1Ij+GT46PL6R20Mgju/IVQVo2qEMGPQtCCi/k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22685},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"gitHead":"5ca4893b5ae40634b6b961ee76401b2973c2ec1d","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ghattrellbark","email":"george.hattrell@bark.com"},"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"_npmVersion":"10.9.4","description":"CLI tool to promote components from product repos to the Bark Design System registry","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","inquirer":"^12.6.0","commander":"^13.1.0","fast-glob":"^3.3.3","typescript":"^5.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.8","@types/node":"^24.10.0","@types/inquirer":"^9.0.7"},"_npmOperationalInternal":{"tmp":"tmp/component-promoter_0.1.4_1766164719641_0.34396548731046295","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-12-10T11:31:30.814Z","modified":"2026-01-26T11:31:30.740Z","0.1.0":"2025-12-10T11:31:31.096Z","0.1.1":"2025-12-19T11:57:14.449Z","0.1.2":"2025-12-19T16:46:11.708Z","0.1.3":"2025-12-19T17:01:52.696Z","0.1.4":"2025-12-19T17:18:39.774Z"},"bugs":{"url":"https://github.com/Bark-com/design-system/issues"},"license":"MIT","homepage":"https://github.com/Bark-com/design-system#readme","keywords":["bark","design-system","shadcn","component","cli"],"repository":{"url":"git+https://github.com/Bark-com/design-system.git","type":"git","directory":"tools/component-promoter"},"description":"CLI tool to promote components from product repos to the Bark Design System registry","maintainers":[{"email":"salih.benli@bark.com","name":"salih-bark"},{"email":"naim.mustafa@bark.com","name":"naimmustafa-bark"},{"email":"brian.mcnestry@bark.com","name":"brianmcnestry-bark"},{"email":"george.hattrell@bark.com","name":"ghattrellbark"},{"email":"michael.crowther@bark.com","name":"michael.crowther"},{"email":"manu.dubey@bark.com","name":"manu-d"},{"email":"oyin.harris@bark.com","name":"oyharris"}],"readme":"# @bark/component-promoter\n\nCLI tool to promote components from product repos to the Bark Design System registry.\n\n## Prerequisites\n\n- Node.js >= 22\n- [GitHub CLI](https://cli.github.com/) installed and authenticated (`gh auth login`)\n\n## Installation\n\n```bash\nnpm install -g @bark/component-promoter\n```\n\nOr run directly with npx:\n\n```bash\nnpx @bark/component-promoter promote ./components/ui/my-button.tsx\n```\n\n## Usage\n\n### Validate a component\n\nCheck if a component meets the design system requirements:\n\n```bash\npromote-component validate ./components/ui/button.tsx\n```\n\n### Promote a component\n\nCreate a PR to add a component to the design system:\n\n```bash\npromote-component promote ./components/ui/button.tsx\n```\n\nOptions:\n- `-n, --name <name>` - Component name (defaults to filename)\n- `-l, --level <level>` - Atomic level: atoms|molecules|organisms|templates|pages (default: atoms)\n- `-d, --dry-run` - Validate and preview without creating PR\n\n### Examples\n\n```bash\n# Promote a button as an atom\npromote-component promote ./components/ui/button.tsx\n\n# Promote as a molecule with custom name\npromote-component promote ./components/search-bar.tsx -l molecules -n search-bar\n\n# Preview without creating PR\npromote-component promote ./components/ui/card.tsx --dry-run\n```\n\n## Validation Rules\n\nComponents are validated against design system requirements:\n\n**Errors (will fail):**\n- React Router hooks (useLoaderData, useFetcher, useActionData)\n- Data access imports\n- Analytics hooks/tracking\n- Console.log statements\n- i18n dependencies\n\n**Warnings:**\n- Component > 200 lines\n- Missing TypeScript interfaces\n\n## How It Works\n\n1. Validates component against design system rules\n2. Generates registry entry with dependencies\n3. Creates a branch in the design-system repo\n4. Adds component file and updates registry.json\n5. Opens a PR for review\n","readmeFilename":"README.md"}