{"_id":"@boltz.one/create-app","_rev":"2-89ce4d0cd161c6a01806ce1f1552a2c1","name":"@boltz.one/create-app","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@boltz.one/create-app","version":"0.1.0","keywords":["boltz-one","create-app","turborepo","scaffold","template","bun"],"license":"MIT","_id":"@boltz.one/create-app@0.1.0","maintainers":[{"name":"dknguyen","email":"dknguyen2304@gmail.com"}],"homepage":"https://github.com/boltz-one/create-app#readme","bugs":{"url":"https://github.com/boltz-one/create-app/issues"},"bin":{"create-app":"bin/create-app.ts"},"dist":{"shasum":"b9d7b720cbea317617ee3f505f7e0556c4ed2501","tarball":"https://registry.npmjs.org/@boltz.one/create-app/-/create-app-0.1.0.tgz","fileCount":40,"integrity":"sha512-8jlJPgFe0j3t439t5m82TbNfYpY9gTD6lHTD1ZtKhkMQsCG9XYJr/c0bmDdC6FmFtQZEJdkACziqoMdDxHdbxQ==","signatures":[{"sig":"MEUCIQDCo2UsA+/CK+Hgg6r4UzDEiYYMmuqiEPHxwGTHA9OvnQIgCuIy2tVdeoIazHXI6eFbBsN/mdWE6xEvoOqhd+8eMFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204689},"type":"module","engines":{"bun":">=1.3.0"},"gitHead":"db237dba888f533fd5eb56364c332b9ab44f4af0","scripts":{"start":"bun bin/create-app.ts","check-types":"tsc --noEmit"},"_npmUser":{"name":"dknguyen","email":"dknguyen2304@gmail.com"},"repository":{"url":"git+https://github.com/boltz-one/create-app.git","type":"git"},"_npmVersion":"10.9.8","description":"Scaffold một monorepo Turborepo mới cho Boltz One, dùng ESLint/TypeScript config chung từ npm","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/create-app_0.1.0_1782011619461_0.9933590043291181","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@boltz.one/create-app","version":"0.1.1","description":"Scaffold một monorepo Turborepo mới cho Boltz One, dùng ESLint/TypeScript config chung từ npm","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/boltz-one/create-app.git"},"keywords":["boltz-one","create-app","turborepo","scaffold","template","bun"],"bin":{"create-app":"bin/create-app.ts"},"scripts":{"check-types":"tsc --noEmit","start":"bun bin/create-app.ts"},"engines":{"bun":">=1.3.0"},"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.9.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_id":"@boltz.one/create-app@0.1.1","gitHead":"d9f815e8240423f1109598c0f76728bd96949ec7","bugs":{"url":"https://github.com/boltz-one/create-app/issues"},"homepage":"https://github.com/boltz-one/create-app#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-mwIoEsqkI4JlIvD0FUJiCnyH49xy2BkZQeKast+poolS8P/VZlifR6k1Vf5S7+YgJBVUJ3joo5aMe4jln2pD8Q==","shasum":"b833f6d6170933a71bc90d7d68c6e0f8951cedde","tarball":"https://registry.npmjs.org/@boltz.one/create-app/-/create-app-0.1.1.tgz","fileCount":41,"unpackedSize":191534,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICdaO0ZfOeTFY+nkFEj+UAFiSw0vZAjJkHEaz3d33rI/AiAW9u+pMjKdKpX8Gcc+kI7ImwTBKzStt5ZjqULYdzX6yg=="}]},"_npmUser":{"name":"dknguyen","email":"dknguyen2304@gmail.com"},"directories":{},"maintainers":[{"name":"dknguyen","email":"dknguyen2304@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-app_0.1.1_1782011933334_0.6976139430678814"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T03:13:39.346Z","modified":"2026-06-21T03:18:53.583Z","0.1.0":"2026-06-21T03:13:39.632Z","0.1.1":"2026-06-21T03:18:53.455Z"},"bugs":{"url":"https://github.com/boltz-one/create-app/issues"},"license":"MIT","homepage":"https://github.com/boltz-one/create-app#readme","keywords":["boltz-one","create-app","turborepo","scaffold","template","bun"],"repository":{"type":"git","url":"git+https://github.com/boltz-one/create-app.git"},"description":"Scaffold một monorepo Turborepo mới cho Boltz One, dùng ESLint/TypeScript config chung từ npm","maintainers":[{"name":"dknguyen","email":"dknguyen2304@gmail.com"}],"readme":"# @boltz.one/create-app\n\nCLI scaffold một monorepo Turborepo mới cho Boltz One, dùng ESLint/TypeScript\nconfig chung từ npm. CLI viết bằng TypeScript và chạy bằng [Bun](https://bun.sh).\n\n## Sử dụng\n\n```sh\n# Cách khuyến nghị\nbun create @boltz.one/app my-app\n\n# Hoặc chạy trực tiếp\nbunx @boltz.one/create-app my-app\n```\n\nBỏ trống tên project, CLI sẽ hỏi tương tác. Sau khi tạo xong:\n\n```sh\ncd my-app\nbun install\nbun run dev\n```\n\n> Yêu cầu có **Bun** trên máy (bin dùng shebang `#!/usr/bin/env bun`).\n\nTùy chọn:\n\n| Cờ | Ý nghĩa |\n| --- | --- |\n| `-h`, `--help` | In trợ giúp |\n| `-v`, `--version` | In phiên bản |\n\n## Điểm khác biệt: config dùng chung từ npm\n\nKhác với starter Turborepo mặc định (có sẵn 2 package config local\n`packages/eslint-config` + `packages/typescript-config`), template này **không\nchứa package config local**. ESLint và TypeScript config được kéo trực tiếp từ\nnpm:\n\n- [`@boltz.one/eslint-config`](https://www.npmjs.com/package/@boltz.one/eslint-config)\n- [`@boltz.one/typescript-config`](https://www.npmjs.com/package/@boltz.one/typescript-config)\n\nNhờ vậy mọi app sinh ra luôn dùng đúng một nguồn config chung, nâng cấp tập\ntrung qua việc bump version trên npm thay vì sửa file rải rác trong từng repo.\n\n## Cấu trúc project sinh ra\n\n```\nmy-app/\n├── apps/\n│   ├── app/        # TanStack Start (React) app\n│   └── api/        # Hono API app\n├── packages/\n│   └── ui/         # Thư viện React component dùng chung (@repo/ui)\n├── package.json    # workspaces: apps/*, packages/*\n└── turbo.json\n```\n\n`packages/ui` minh hoạ cách tiêu thụ config npm:\n\n```jsonc\n// packages/ui/package.json\n\"devDependencies\": {\n  \"@boltz.one/eslint-config\": \"^0.1.1\",\n  \"@boltz.one/typescript-config\": \"^0.1.0\"\n}\n```\n\n```js\n// packages/ui/eslint.config.mjs\nimport { config } from \"@boltz.one/eslint-config/react-internal\";\nexport default config;\n```\n\n```jsonc\n// packages/ui/tsconfig.json\n{ \"extends\": \"@boltz.one/typescript-config/react-library.json\" }\n```\n\n## Phát triển CLI\n\n```sh\nbun install            # cài dev deps (@types/bun, typescript)\nbun run check-types    # tsc --noEmit\nbun bin/create-app.ts <ten-thu-muc>   # chạy thử\n```\n\nTemplate nằm trong `template/`. Lưu ý: các file `.gitignore` được lưu dưới tên\n`gitignore` (không dấu chấm) để không bị npm bỏ qua khi publish; CLI tự khôi phục\nlại tên `.gitignore` khi scaffold.\n\n### Phát hành\n\nBump `version` trong `package.json` rồi đẩy tag `v*`:\n\n```sh\ngit tag v0.1.0 && git push origin v0.1.0\n```\n\nWorkflow `.github/workflows/publish-create-app.yml` sẽ validate (check-types +\nsmoke test) và publish lên npm (idempotent — bỏ qua nếu version đã tồn tại).\nCần secret `NPM_TOKEN` trên repo.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}