{"_id":"@c-a-f/cli","_rev":"2-e518145d98dfc7453a027771408d3af2","name":"@c-a-f/cli","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.6":{"name":"@c-a-f/cli","version":"1.0.6","keywords":["clean-architecture-frontend","clean-architecture","clean architecture frontend","caf","scaffold","cli","frontend","architecture"],"author":{"name":"ali aslani","email":"aliaslani.mm@gmail.com"},"license":"MIT","_id":"@c-a-f/cli@1.0.6","maintainers":[{"name":"ialiaslani","email":"aliaslani.mm@gmail.com"}],"homepage":"https://github.com/ialiaslani/caf#readme","bugs":{"url":"https://github.com/ialiaslani/caf/issues"},"os":["win32","darwin","linux"],"bin":{"cli":"cli.js"},"dist":{"shasum":"b0723da26269c0fbb4a56843e4a42a8fe5d8bec0","tarball":"https://registry.npmjs.org/@c-a-f/cli/-/cli-1.0.6.tgz","fileCount":8,"integrity":"sha512-cNXsdsVdE89gptVW6ShqmF68IKD4YEdQyBKmQSuLV/KYgxgD/fm54vlb6jGa7GbQrW2AcDWxPozxHUQl0GPQww==","signatures":[{"sig":"MEYCIQDspw3o8COo5VOh9A4ALteQIWGxuv23hwvEUk0LPAfNHgIhAPqRTSK6dOo91eeZYjxQY0uvd3nmoE3FWPG0NG7Psy0a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23251},"main":"dist/index.js","engines":{"node":">=14.0.0"},"gitHead":"ca2feba4757534a4a130717ea50c4df2e2ff01e6","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc && node dist/create-windows-wrapper.js","test:watch":"vitest","prepublishOnly":"npm run build","build:windows-wrapper":"tsc src/create-windows-wrapper.ts --outDir dist --module commonjs --target ES2020 && node dist/create-windows-wrapper.js"},"_npmUser":{"name":"ialiaslani","email":"aliaslani.mm@gmail.com"},"repository":{"url":"git+https://github.com/ialiaslani/caf.git","type":"git","directory":"packages/cli"},"_npmVersion":"10.9.2","description":"Clean Architecture Frontend (CAF) — CLI to scaffold project structure (domain, application, infrastructure).","directories":{"bin":"./dist/bin"},"_nodeVersion":"22.13.0","dependencies":{"fs-extra":"^11.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^4.1.2","@types/node":"^20.11.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/cli_1.0.6_1771671000232_0.8042465223676687","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@c-a-f/cli","version":"1.0.7","description":"Clean Architecture Frontend (CAF) — CLI to scaffold project structure (domain, application, infrastructure).","main":"dist/index.js","bin":{"cli":"cli.js"},"directories":{"bin":"./dist/bin"},"scripts":{"build":"tsc && node dist/create-windows-wrapper.js","build:windows-wrapper":"tsc src/create-windows-wrapper.ts --outDir dist --module commonjs --target ES2020 && node dist/create-windows-wrapper.js","dev":"tsc --watch","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest"},"keywords":["clean-architecture-frontend","clean-architecture","clean architecture frontend","caf","scaffold","cli","frontend","architecture"],"author":{"name":"ali aslani","email":"aliaslani.mm@gmail.com"},"license":"MIT","homepage":"https://docs-caf.vercel.app/docs/packages/cli","repository":{"type":"git","url":"git+https://github.com/ialiaslani/caf.git","directory":"packages/cli"},"os":["win32","darwin","linux"],"dependencies":{"fs-extra":"^11.2.0"},"devDependencies":{"@types/fs-extra":"^11.0.4","@types/node":"^20.11.0","typescript":"^4.1.2","vitest":"^2.1.0"},"engines":{"node":">=14.0.0"},"_id":"@c-a-f/cli@1.0.7","gitHead":"c754b6d68b1a5b1196bb202e70c962ea7c3de87e","bugs":{"url":"https://github.com/ialiaslani/caf/issues"},"_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-y9Fmz6+J3T/L2D6vDBVSo9zIn9b7qxeokatS/9j6fjSLh5TkXF15dT7wh9LFQv1VH54spKBTlAIjd/YKDPaG/g==","shasum":"63d680ccf8b29bd27d45debd2d199ab78f602469","tarball":"https://registry.npmjs.org/@c-a-f/cli/-/cli-1.0.7.tgz","fileCount":8,"unpackedSize":23691,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQy8dbN+TrCEPFKIXwkd3g8bTqNh0AmQeoiZHBqgDc6QIgFThA8gZeE7fr8KDRPv/5/FNfgBS968rVsH+oAcqzTIw="}]},"_npmUser":{"name":"ialiaslani","email":"aliaslani.mm@gmail.com"},"maintainers":[{"name":"ialiaslani","email":"aliaslani.mm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_1.0.7_1771679739202_0.09550873003011096"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-21T10:50:00.127Z","modified":"2026-02-21T13:15:39.469Z","1.0.6":"2026-02-21T10:50:00.415Z","1.0.7":"2026-02-21T13:15:39.350Z"},"bugs":{"url":"https://github.com/ialiaslani/caf/issues"},"author":{"name":"ali aslani","email":"aliaslani.mm@gmail.com"},"license":"MIT","homepage":"https://docs-caf.vercel.app/docs/packages/cli","keywords":["clean-architecture-frontend","clean-architecture","clean architecture frontend","caf","scaffold","cli","frontend","architecture"],"repository":{"type":"git","url":"git+https://github.com/ialiaslani/caf.git","directory":"packages/cli"},"description":"Clean Architecture Frontend (CAF) — CLI to scaffold project structure (domain, application, infrastructure).","maintainers":[{"name":"ialiaslani","email":"aliaslani.mm@gmail.com"}],"readme":"# @c-a-f/cli\r\n\r\nCLI tool to scaffold CAF (Clean Architecture Frontend) project structure.\r\n\r\n**Documentation:** [@c-a-f/cli docs](https://docs-caf.vercel.app/docs/packages/cli)\r\n\r\n## Installation\r\n\r\n### Quick Start (All Platforms)\r\n\r\n```bash\r\n# Using npx (works on Windows, Mac, Linux)\r\nnpx \"@c-a-f/cli\"\r\n\r\n# Or install globally\r\nnpm install -g \"@c-a-f/cli\"\r\ncaf-init\r\n```\r\n\r\n**Windows Users**: The package now includes a `.cmd` wrapper file, so `npx` should work. If you encounter issues, install globally as a fallback.\r\n\r\n### Platform-Specific Notes\r\n\r\n- **Windows**: The package includes `caf-init.cmd` wrapper for Windows compatibility\r\n- **Unix/Mac/Linux**: Uses the `.js` file with shebang (`#!/usr/bin/env node`)\r\n\r\nBoth methods work on all platforms!\r\n\r\n## Usage\r\n\r\n### Initialize CAF structure in current directory\r\n\r\n```bash\r\nnpx @c-a-f/cli\r\n# or\r\ncaf-init\r\n```\r\n\r\n### Initialize CAF structure in a specific directory\r\n\r\n```bash\r\nnpx @c-a-f/cli ./my-project\r\n# or\r\ncaf-init ./my-project\r\n```\r\n\r\n## What it creates\r\n\r\nThe CLI creates the following folder structure:\r\n\r\n```\r\nmy-project/\r\n│\r\n├── caf/                    # CAF Architecture Layers\r\n│   ├── domain/            # Domain Layer (Pure Business Logic)\r\n│   │   ├── User/\r\n│   │   │   ├── user.entities.ts\r\n│   │   │   ├── user.irepository.ts\r\n│   │   │   ├── user.service.ts\r\n│   │   │   └── index.ts\r\n│   │   └── index.ts\r\n│   │\r\n│   ├── application/       # Application Layer (Use Cases)\r\n│   │   ├── User/\r\n│   │   │   ├── Commands/\r\n│   │   │   │   └── CreateUser.ts\r\n│   │   │   ├── Queries/\r\n│   │   │   │   └── GetUsers.ts\r\n│   │   │   └── index.ts\r\n│   │   └── index.ts\r\n│   │\r\n│   ├── infrastructure/    # Infrastructure Layer\r\n│   │   ├── api/\r\n│   │   │   ├── User/\r\n│   │   │   │   ├── UserRepository.ts\r\n│   │   │   │   ├── UserApi.ts\r\n│   │   │   │   └── index.ts\r\n│   │   │   └── index.ts\r\n│   │   └── index.ts\r\n│   │\r\n│   └── index.ts\r\n│\r\n└── src/                    # Presentation Layer (UI)\r\n    └── (your UI code here)\r\n```\r\n\r\n## Default Content\r\n\r\nThe CLI creates example files with:\r\n\r\n- **Domain Layer**: User entity, repository interface, and service\r\n- **Application Layer**: GetUsers query and CreateUser command\r\n- **Infrastructure Layer**: UserRepository and UserApi implementations\r\n\r\nAll files include proper imports and follow CAF conventions.\r\n\r\n## Next Steps\r\n\r\nAfter running the CLI:\r\n\r\n1. Install CAF dependencies:\r\n   ```bash\r\n   npm install @c-a-f/core @c-a-f/infrastructure-react\r\n   ```\r\n\r\n2. Customize the generated files for your domain\r\n\r\n3. Create your UI components in `src/`\r\n\r\n4. Start building your application!\r\n","readmeFilename":"README.md"}