{"_id":"@aaqeb11/component-dock","_rev":"5-512db99dd3282a4536e797c2f7da047a","name":"@aaqeb11/component-dock","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.2":{"name":"@aaqeb11/component-dock","version":"1.0.2","keywords":["cli","component","shadcn","ui"],"author":"","license":"ISC","_id":"@aaqeb11/component-dock@1.0.2","maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"homepage":"https://github.com/aaqeb11/shadcn-component-library#readme","bugs":{"url":"https://github.com/aaqeb11/shadcn-component-library/issues"},"bin":{"component":"dist/index.js"},"dist":{"shasum":"9df040ee1bc4fa8d011caf0119934423d65bb1ff","tarball":"https://registry.npmjs.org/@aaqeb11/component-dock/-/component-dock-1.0.2.tgz","fileCount":5,"integrity":"sha512-dpiIuXnASam4R/bPR9+A+E9jAFWdueMQYDzFlwJTAdS+PuZDmRNhQi7cJskvfQfWWNQNIf1D4vQfdFSP0ESERA==","signatures":[{"sig":"MEYCIQDiYnYfaATvLYC1HdDiWkDs43NByO9mPAvIUf1d1ixgYQIhALXvXbPTs97/75WVIkj6IR4XXbxRA0TiVZK0xHxBMV90","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29455},"main":"dist/index.js","type":"module","gitHead":"48fdb60aa1043b62d6d8c67a545b95f19c3de371","scripts":{"dev":"rollup -c -w","build":"tsc","rollup":"rollup -c"},"_npmUser":{"name":"aaqeb11","actor":{"name":"aaqeb11","type":"user","email":"aaqebahmed@gmail.com"},"email":"aaqebahmed@gmail.com"},"repository":{"url":"git+https://github.com/aaqeb11/shadcn-component-library.git","type":"git"},"_npmVersion":"10.9.2","description":"Component library starter with shadcn/ui","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.6.3","commander":"^14.0.0","picocolors":"^1.1.1"},"publishConfig":{"registry":"https://npm.pkg.github.com/aaqeb11"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.8.0","typescript":"^5.8.3","@types/node":"^24.0.4","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/component-dock_1.0.2_1751868064873_0.4658234375068129","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aaqeb11/component-dock","version":"1.0.3","keywords":["cli","component","shadcn","ui"],"author":"","license":"MIT","_id":"@aaqeb11/component-dock@1.0.3","maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"homepage":"https://github.com/aaqeb11/component-dock#readme","bugs":{"url":"https://github.com/aaqeb11/component-dock/issues"},"bin":{"component":"dist/index.js"},"dist":{"shasum":"ec901d33e1f7a89bda49def5952cea94a6b1e12b","tarball":"https://registry.npmjs.org/@aaqeb11/component-dock/-/component-dock-1.0.3.tgz","fileCount":5,"integrity":"sha512-ti5AhZeMQ/PdtRH4ljXrh4Lencif4VPd2Ziof/FsYomubX/tznqPbSReLf2tbzTw7mWT4pSaRU/B8lxruBoOsw==","signatures":[{"sig":"MEQCIBl9n3xZkgIobGbmWJj9h0cm5CX8x3s64YeIGP5AOexLAiAjXb0hiRi/TOXqYyEeI+XSPH1cRXzMzCYJO2UBurG5lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29445},"main":"dist/index.js","type":"module","gitHead":"2f7c4cf74fd124a2ad9a0a83e2926e590a0a7251","scripts":{"dev":"rollup -c -w","build":"tsc","rollup":"rollup -c"},"_npmUser":{"name":"aaqeb11","actor":{"name":"aaqeb11","type":"user","email":"aaqebahmed@gmail.com"},"email":"aaqebahmed@gmail.com"},"repository":{"url":"git+https://github.com/aaqeb11/component-dock.git","type":"git"},"_npmVersion":"10.9.2","description":"Component library starter with shadcn/ui","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.6.3","commander":"^14.0.0","picocolors":"^1.1.1"},"publishConfig":{"registry":"https://npm.pkg.github.com/aaqeb11"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.8.0","typescript":"^5.8.3","@types/node":"^24.0.4","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/component-dock_1.0.3_1751868543112_0.9732768967244934","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aaqeb11/component-dock","version":"1.0.4","keywords":["cli","component","shadcn","ui"],"author":"","license":"MIT","_id":"@aaqeb11/component-dock@1.0.4","maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"homepage":"https://github.com/aaqeb11/component-dock#readme","bugs":{"url":"https://github.com/aaqeb11/component-dock/issues"},"bin":{"component":"dist/index.js"},"dist":{"shasum":"345b79041139dad789ebd87fbe7e8f831a3c756f","tarball":"https://registry.npmjs.org/@aaqeb11/component-dock/-/component-dock-1.0.4.tgz","fileCount":5,"integrity":"sha512-Mbi0emrmSVOroc7PA0NcErTVqCNTY8rlh8vNk9j03vS6DwSDs/TE4liERtVr6Dg5KGQ6Xaz8S7Mj46ncglvrBg==","signatures":[{"sig":"MEUCIHcSXZJOkzPSYYIwQtCO7o1B4Yguh5+3il9xLnBASQJRAiEA2767wVtaVMpFtqIBQXMxr77uMyJY3IUyEVMMy3O3e0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31703},"main":"dist/index.js","type":"module","gitHead":"fd73b48dc3e792cbf451eed2f38293dd2d422315","scripts":{"dev":"rollup -c -w","build":"tsc","rollup":"rollup -c"},"_npmUser":{"name":"aaqeb11","actor":{"name":"aaqeb11","type":"user","email":"aaqebahmed@gmail.com"},"email":"aaqebahmed@gmail.com"},"repository":{"url":"git+https://github.com/aaqeb11/component-dock.git","type":"git"},"_npmVersion":"10.9.2","description":"Component library starter with shadcn/ui","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.6.3","commander":"^14.0.0","picocolors":"^1.1.1"},"publishConfig":{"registry":"https://npm.pkg.github.com/aaqeb11"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.8.0","typescript":"^5.8.3","@types/node":"^24.0.4","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/component-dock_1.0.4_1751869322589_0.68710834419064","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@aaqeb11/component-dock","version":"1.0.6","keywords":["cli","component","shadcn","ui"],"author":"","license":"MIT","_id":"@aaqeb11/component-dock@1.0.6","maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"homepage":"https://github.com/aaqeb11/component-dock#readme","bugs":{"url":"https://github.com/aaqeb11/component-dock/issues"},"bin":{"component":"dist/index.js"},"dist":{"shasum":"2c0ed655018cf3eaca6a3334dbb71bf75cd5b5ad","tarball":"https://registry.npmjs.org/@aaqeb11/component-dock/-/component-dock-1.0.6.tgz","fileCount":5,"integrity":"sha512-mpXMwjx4QBJevBur9WPKtbZ8Hl5k382mOWQNk8QAPtWN4cvgN8Fa8GV+pfPfvCwK2xw+2zurKdeAm0tC28zTfA==","signatures":[{"sig":"MEYCIQDs0lYn9yoK2mJjfzUFsR5czV00qEZ/EY0CqHK3wFPTtQIhAORgZ5gAkn+y9RcX1Z0wIgv6cHmVfqhtipWKguC43OFx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31434},"main":"dist/index.js","type":"module","gitHead":"b3ffb8744bf3f9c746f2096fe6f9c153ad4750a3","scripts":{"dev":"rollup -c -w","build":"tsc","rollup":"rollup -c"},"_npmUser":{"name":"aaqeb11","email":"aaqebahmed@gmail.com"},"repository":{"url":"git+https://github.com/aaqeb11/component-dock.git","type":"git"},"_npmVersion":"10.9.2","description":"Component library starter with shadcn/ui","directories":{},"_nodeVersion":"22.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","fs-extra":"^11.3.0","inquirer":"^12.6.3","commander":"^14.0.0","picocolors":"^1.1.1"},"publishConfig":{"registry":"https://npm.pkg.github.com/aaqeb11"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.8.0","typescript":"^5.8.3","@types/node":"^24.0.4","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.8","@rollup/plugin-json":"^6.1.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-typescript":"^12.1.4","@rollup/plugin-node-resolve":"^16.0.1"},"_npmOperationalInternal":{"tmp":"tmp/component-dock_1.0.6_1752392833674_0.35992592075907903","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@aaqeb11/component-dock","version":"1.0.7","license":"MIT","repository":{"type":"git","url":"git+https://github.com/aaqeb11/component-dock.git"},"description":"Component library starter with shadcn/ui","main":"dist/index.js","type":"module","scripts":{"rollup":"rollup -c","build":"tsc","dev":"rollup -c -w"},"bin":{"component":"dist/index.js"},"keywords":["cli","component","shadcn","ui"],"author":"","devDependencies":{"@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.4","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.8","@types/node":"^24.0.4","rollup":"^4.8.0","typescript":"^5.8.3"},"dependencies":{"chalk":"^5.4.1","commander":"^14.0.0","fs-extra":"^11.3.0","inquirer":"^12.6.3","ora":"^8.2.0","picocolors":"^1.1.1"},"publishConfig":{"registry":"https://npm.pkg.github.com/aaqeb11"},"_id":"@aaqeb11/component-dock@1.0.7","gitHead":"f826ca8c14f51f4018d2e52e982e7c19d13a46e5","bugs":{"url":"https://github.com/aaqeb11/component-dock/issues"},"homepage":"https://github.com/aaqeb11/component-dock#readme","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-kE8WAezGY7xZ4Tjf+80OZMCxmWqSlVvCY+LA+pHLCr9GzDelnmn+8yEkbKzGdWyDvOitndYGxX6Cdz2Dyl2yBA==","shasum":"a527a5badda69f450a8509fc4cd0ab6d406ff024","tarball":"https://registry.npmjs.org/@aaqeb11/component-dock/-/component-dock-1.0.7.tgz","fileCount":5,"unpackedSize":32687,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEwnuuWXRhezMIimgcno2/qbDpFhOSph2eA5QSDtegG8AiEArLA0Rbvbt4ZWnOmSqsoQCaqUajQQ30suEaVRX4wvcPQ="}]},"_npmUser":{"name":"aaqeb11","email":"aaqebahmed@gmail.com"},"directories":{},"maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/component-dock_1.0.7_1752393536167_0.809439920148245"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-07T06:01:04.684Z","modified":"2025-07-13T07:58:56.505Z","1.0.2":"2025-07-07T06:01:05.077Z","1.0.3":"2025-07-07T06:09:03.287Z","1.0.4":"2025-07-07T06:22:02.767Z","1.0.6":"2025-07-13T07:47:13.864Z","1.0.7":"2025-07-13T07:58:56.349Z"},"bugs":{"url":"https://github.com/aaqeb11/component-dock/issues"},"license":"MIT","homepage":"https://github.com/aaqeb11/component-dock#readme","keywords":["cli","component","shadcn","ui"],"repository":{"type":"git","url":"git+https://github.com/aaqeb11/component-dock.git"},"description":"Component library starter with shadcn/ui","maintainers":[{"name":"aaqeb11","email":"aaqebahmed@gmail.com"}],"readme":"# Component Dock ⚓\n\n> Your Component Library Scaffold Tool\n\nComponent Dock is a powerful CLI tool that helps you quickly scaffold modern React component libraries with shadcn/ui integration, TypeScript support, and production-ready build configuration.\n\n## 🎯 Why Component Dock?\n\n### The Problem with Direct Third-Party Components\n\nModern React projects heavily rely on third-party component libraries like shadcn/ui, which work great for small teams and projects. However, as teams grow and projects scale, several critical issues emerge:\n\n**🚨 Team Collaboration Challenges:**\n- Multiple developers modifying the same components simultaneously\n- One person's changes breaking existing functionality for others\n- Inconsistent component implementations across different features\n- Difficulty tracking who changed what and when\n\n**⚠️ Scalability Issues:**\n- No centralized control over component behavior and styling\n- Duplicated component logic scattered across the codebase\n- Hard to maintain design system consistency\n- Challenging to implement organization-wide design updates\n\n**🔧 Maintenance Nightmares:**\n- Direct dependency on external component libraries without abstraction\n- Breaking changes in third-party libraries affecting the entire project\n- Difficulty in customizing components to match specific requirements\n- No version control over component modifications\n\n### The Solution: Your Own Component Library\n\n**🎯 Standardization & Control:**\n- Centralized component definitions that everyone follows\n- Version-controlled component changes with proper review processes\n- Consistent API and behavior across your entire organization\n- Custom components tailored to your specific design requirements\n\n**👥 Team Efficiency:**\n- Clear ownership and contribution guidelines for components\n- Reusable components across multiple projects\n- Reduced development time through shared component ecosystem\n- Better collaboration through well-defined component interfaces\n\n**🔄 Long-term Maintainability:**\n- Easy to update, test, and deploy component changes\n- Independence from third-party library breaking changes\n- Ability to gradually migrate or update underlying technologies\n- Documentation and examples that grow with your team's needs\n\nComponent Dock bridges this gap by providing you with a production-ready foundation to build and maintain your own component library, giving you the best of both worlds: the speed of shadcn/ui components and the control of your own ecosystem.\n\n## ✨ Features\n\n- 🚀 **Quick Setup** - Create a complete component library in seconds\n- 📦 **Dual Package Support** - Builds both CommonJS and ESM formats\n- 🔧 **TypeScript Ready** - Full TypeScript support with proper declarations\n- 🎭 **Tailwind CSS** - Pre-configured with custom design tokens\n- 📱 **Modern Build Stack** - Rollup, PostCSS, and optimized bundling\n- 🎯 **Interactive Setup** - Guided project configuration\n- 📖 **Complete Documentation** - Generated README and usage examples\n\n## 📦 Installation\n\n### Global Installation (Recommended)\n\n```bash\nnpm install -g component-dock\n```\n\n### NPX Usage (No Installation Required)\n\n```bash\nnpx component-dock create my-library\n```\n\n## 🚀 Quick Start\n\n### Create a New Component Library\n\n```bash\ncomponent create my-awesome-library\n```\n\nThe CLI will guide you through an interactive setup:\n\n```\n🚀 Creating component library: my-awesome-library\n\n? Library description: A collection of awesome React components\n? Choose package manager: npm\n```\n\n### Project Structure Created\n\n```\nmy-awesome-library/\n├── src/\n│   ├── components/\n│   │   └── ui/           # shadcn/ui components go here\n│   ├── lib/\n│   │   └── utils.ts      # Utility functions (cn helper)\n│   ├── styles/\n│   │   └── globals.css   # Global styles and CSS variables\n│   └── index.ts          # Main export file\n├── dist/                 # Built files (generated)\n│   ├── cjs/             # CommonJS build\n│   ├── esm/             # ES Modules build\n│   ├── styles/          # Compiled CSS\n│   └── index.d.ts       # Type declarations\n├── package.json          # Package configuration\n├── tsconfig.json         # TypeScript configuration\n├── rollup.config.js      # Build configuration\n├── tailwind.config.js    # Tailwind CSS configuration\n├── postcss.config.js     # PostCSS configuration\n├── components.json       # shadcn/ui configuration\n└── README.md            # Project documentation\n```\n\n## 🛠️ Usage\n\n### Available Commands\n\n```bash\n# Create a new component library\ncomponent create <project-name>\n\n# Create with options\ncomponent create my-library --skip-install\n\n# Show help\ncomponent --help\n\n# Show version\ncomponent --version\n```\n\n### Command Options\n\n#### `create <project-name>`\n\nCreates a new component library project.\n\n**Options:**\n- `--skip-install` - Skip automatic dependency installation\n\n**Example:**\n```bash\ncomponent create design-system --skip-install\n```\n\n## 🏗️ Development Workflow\n\nAfter creating your library, navigate to the project directory and start developing:\n\n```bash\ncd my-awesome-library\n\n# Install dependencies (if not already installed)\nnpm install\n\n# Start development with watch mode\nnpm run dev\n\n# Build the library\nnpm run build\n\n# Type checking\nnpm run type-check\n\n# Clean build artifacts\nnpm run clean\n```\n\nYou're absolutely right! The \"Adding Components\" section should be more comprehensive and flexible. Here's a better version:\n\n## 📚 Adding Components\n\nYour project comes pre-configured for shadcn/ui components, but you have complete flexibility in how you build your component library:\n\n### Using shadcn/ui CLI (Recommended)\n\n```bash\n# Add specific components\nnpx shadcn-ui@latest add button input\n\n# Interactive component selection\nnpx shadcn-ui@latest add\n```\n\n### Manual Component Creation\n\nCreate your own components from scratch:\n\n```bash\n# Create a new component directory\nmkdir src/components/ui/custom-button\n\n# Add your component files\ntouch src/components/ui/custom-button/index.tsx\ntouch src/components/ui/custom-button/custom-button.stories.tsx\n```\n\n### Using Other Component Libraries\n\nInstall and integrate components from other libraries:\n\n```bash\n# Radix UI primitives\nnpm install @radix-ui/react-dialog @radix-ui/react-dropdown-menu\n\n```\n\n### Copying from External Sources\n\nYou can also copy and adapt components from:\n- [shadcn/ui components](https://ui.shadcn.com/docs/components) - Copy source code directly\n- [Radix UI examples](https://www.radix-ui.com/) - Use their component patterns\n- [Tailwind UI](https://tailwindui.com/) - Adapt their component designs\n- Other open-source component libraries\n\n### Exporting Components\n\nAfter adding any components, make sure to export them from your main `index.ts` file:\n\n```typescript\n// src/index.ts\nexport { Button } from './components/ui/button';\nexport { Input } from './components/ui/input';\nexport { CustomButton } from './components/ui/custom-button';\n```\n\n## 🔧 Configuration\n\n### Package.json Scripts\n\nThe generated project includes these npm scripts:\n\n```json\n{\n  \"scripts\": {\n    \"build\": \"rollup -c\",\n    \"dev\": \"rollup -c -w\",\n    \"lint\": \"eslint src --ext .ts,.tsx\",\n    \"type-check\": \"tsc --noEmit\",\n    \"clean\": \"rm -rf dist\"\n  }\n}\n```\n\n### Build Output\n\nThe build process generates:\n\n- **`dist/cjs/`** - CommonJS modules for Node.js compatibility\n- **`dist/esm/`** - ES modules for modern bundlers\n- **`dist/index.d.ts`** - TypeScript declaration files\n- **`dist/styles/`** - Compiled CSS files\n\n### Dependencies Included\n\nYour component library comes with:\n\n**Runtime Dependencies:**\n- `@radix-ui/react-slot` - Primitive components\n- `class-variance-authority` - Variant API for components\n- `clsx` - Conditional className utility\n- `tailwind-merge` - Tailwind class merging\n- `lucide-react` - Icon library\n- `tslib` - TypeScript runtime helpers\n\n**Development Dependencies:**\n- Full TypeScript support\n- Rollup build configuration\n- Tailwind CSS with plugins\n- ESLint setup\n\n## 📖 Usage in Projects\n\nAfter building and publishing your library:\n\n```bash\nnpm install my-awesome-library\n```\n\n```tsx\nimport { Button, Input } from 'my-awesome-library';\nimport 'my-awesome-library/dist/styles/globals.css';\n\nfunction App() {\n  return (\n    <div>\n      <Button variant=\"primary\">Click me</Button>\n      <Input placeholder=\"Enter text...\" />\n    </div>\n  );\n}\n```\n\n## 🚀 Publishing\n\n```bash\n# Build your library\nnpm run build\n\n# Publish to npm\nnpm publish\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request.\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/aaqeb11/component-dock.git\n\n# Install dependencies\nnpm install\n\n# Link for local development\nnpm link\n\n# Test the CLI\ncomponent create test-library\n```\n\n## 📄 License\n\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n**Component Dock** - ⚓ Scaffold your component libraries with confidence\n","readmeFilename":"README.md"}