{"_id":"@ahmedxwael/nextjs-app","_rev":"4-d134ab56e5efb86905b0207f38a941e4","name":"@ahmedxwael/nextjs-app","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.2":{"name":"@ahmedxwael/nextjs-app","version":"1.0.2","license":"MIT","_id":"@ahmedxwael/nextjs-app@1.0.2","maintainers":[{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"}],"bin":{"create-basic-nextjs":"cli/create-basic-nextjs.mjs"},"dist":{"shasum":"f7ffe0a7bbf87776e7af88a486b1f5302848d110","tarball":"https://registry.npmjs.org/@ahmedxwael/nextjs-app/-/nextjs-app-1.0.2.tgz","fileCount":45,"integrity":"sha512-4BeCk6A23tqGA5WQ3LCDXIVhRXTbbv6n1AIZNh5dhq0LjejMI/5FJYrt4chuXwqtnqMxr5IUtXi+/3RiRLIFlg==","signatures":[{"sig":"MEYCIQC+X+V6+tTo8CglSzFRILbQ5FYg6bEF1uCyA1O0rYoNEAIhAIJLjFNb2crzFwbND7wImPGDqMqWnqQXawXzcp//pD3k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68641},"gitHead":"1e6a9ff2bd6ec153127827c3e784c693b02353e9","private":false,"scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","scaffold":"node ./cli/create-basic-nextjs.mjs","prepublishOnly":"npm run lint"},"_npmUser":{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"},"_npmVersion":"11.11.0","description":"CLI to scaffold a modular Next.js starter template.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","next":"16.1.6","axios":"^1.13.6","react":"19.2.3","shadcn":"^4.0.0","radix-ui":"^1.4.3","react-dom":"19.2.3","@mongez/http":"^2.2.10","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hugeicons/react":"^1.1.5","@tabler/icons-react":"^3.40.0","@mongez/reinforcements":"^2.3.18","class-variance-authority":"^0.7.1","@hugeicons/core-free-icons":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","prettier":"^3.8.1","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4","prettier-plugin-tailwindcss":"^0.7.2","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs-app_1.0.2_1773285234694_0.24512409821019965","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@ahmedxwael/nextjs-app","version":"1.0.3","license":"MIT","_id":"@ahmedxwael/nextjs-app@1.0.3","maintainers":[{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"}],"bin":{"create-basic-nextjs":"cli/create-basic-nextjs.mjs"},"dist":{"shasum":"73ceefa887b87b4d9d93f9c5982bc1855ce6844c","tarball":"https://registry.npmjs.org/@ahmedxwael/nextjs-app/-/nextjs-app-1.0.3.tgz","fileCount":45,"integrity":"sha512-K3OkRodgceTCW8xA6AkQU8cFoOC1JxZEmNIuTocJcXaPhqe5SDvgGiKxmuiawvMguI6/ZmPU6UQn8FBXrPAGOA==","signatures":[{"sig":"MEUCIQCWRB/IInn+okg4DOUcgtBgPJKe/lGaA6f9CvOdEjVhmwIgUN9DtJoKzQJCRxVYwzWCkNrrxfWo4TYVkJWfmlJqiW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68412},"gitHead":"5e8e375dd89b8a378526a3a3aa24d27a29b41d0b","private":false,"scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","scaffold":"node ./cli/create-basic-nextjs.mjs","prepublishOnly":"npm run lint"},"_npmUser":{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"},"_npmVersion":"11.11.0","description":"CLI to scaffold a modular Next.js starter template.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","next":"16.1.6","axios":"^1.13.6","react":"19.2.3","shadcn":"^4.0.0","radix-ui":"^1.4.3","react-dom":"19.2.3","@mongez/http":"^2.2.10","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hugeicons/react":"^1.1.5","@tabler/icons-react":"^3.40.0","@mongez/reinforcements":"^2.3.18","class-variance-authority":"^0.7.1","@hugeicons/core-free-icons":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","prettier":"^3.8.1","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4","prettier-plugin-tailwindcss":"^0.7.2","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs-app_1.0.3_1773875479034_0.18251962770979335","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@ahmedxwael/nextjs-app","version":"1.0.4","license":"MIT","_id":"@ahmedxwael/nextjs-app@1.0.4","maintainers":[{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"}],"bin":{"create-basic-nextjs":"cli/create-basic-nextjs.mjs"},"dist":{"shasum":"b0d4b78a177b77670be7e280fda23fbac0831aa5","tarball":"https://registry.npmjs.org/@ahmedxwael/nextjs-app/-/nextjs-app-1.0.4.tgz","fileCount":45,"integrity":"sha512-HmLRVMl+I4VIlhydA5wJqj6jEyE151SNERGAxrk6YYzmpyhp3+4mbcc6poWSMdQ59muZVIPQh0Fu4k7j6ne2vg==","signatures":[{"sig":"MEUCIQD19EaX6S1fL/j0ys7B64JlXUBGYYuEKknLBMXZjvGWlgIgWXq0LxLkxpw2YCp1aSeTIpisSo8wVHkppfX9SDO986U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66464},"gitHead":"f5923123fc7654c56676cdf6997e0fa346e03e47","private":false,"scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","scaffold":"node ./cli/create-basic-nextjs.mjs","prepublishOnly":"npm run lint"},"_npmUser":{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"},"_npmVersion":"11.11.0","description":"CLI to scaffold a modular Next.js starter template.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"clsx":"^2.1.1","next":"16.1.6","axios":"^1.13.6","react":"19.2.3","shadcn":"^4.0.0","radix-ui":"^1.4.3","react-dom":"19.2.3","@mongez/http":"^2.2.10","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hugeicons/react":"^1.1.5","@tabler/icons-react":"^3.40.0","@mongez/reinforcements":"^2.3.18","class-variance-authority":"^0.7.1","@hugeicons/core-free-icons":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","prettier":"^3.8.1","typescript":"^5","@types/node":"^20","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4","prettier-plugin-tailwindcss":"^0.7.2","prettier-plugin-organize-imports":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs-app_1.0.4_1776629152691_0.010698754234143015","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@ahmedxwael/nextjs-app","version":"1.0.5","private":false,"description":"CLI to scaffold a modular Next.js starter template.","license":"MIT","publishConfig":{"access":"public"},"bin":{"create-basic-nextjs":"cli/create-basic-nextjs.mjs"},"scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"eslint","scaffold":"node ./cli/create-basic-nextjs.mjs","prepublishOnly":"npm run lint"},"dependencies":{"@hugeicons/core-free-icons":"^4.0.0","@hugeicons/react":"^1.1.5","@mongez/http":"^2.2.10","@mongez/reinforcements":"^2.3.18","@tabler/icons-react":"^3.40.0","axios":"^1.13.6","class-variance-authority":"^0.7.1","clsx":"^2.1.1","next":"16.1.6","radix-ui":"^1.4.3","react":"19.2.3","react-dom":"19.2.3","shadcn":"^4.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0"},"devDependencies":{"@tailwindcss/postcss":"^4","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","eslint":"^9","eslint-config-next":"16.1.6","prettier":"^3.8.1","prettier-plugin-organize-imports":"^4.3.0","prettier-plugin-tailwindcss":"^0.7.2","tailwindcss":"^4","typescript":"^5"},"gitHead":"ae8e74a999add3190ebb9fa16a62ef6d1f0fe1a9","_id":"@ahmedxwael/nextjs-app@1.0.5","_nodeVersion":"20.19.4","_npmVersion":"11.11.0","dist":{"integrity":"sha512-BHbnwmFyShox/zZACf/73iif8CI0yCHIFJQrTSOVBr9ov4MJA5t5oQHlL7zwQ0BFReUNetUwsP+Ujo+fd5tM4w==","shasum":"ac47e5a1590e4f72c3e6b831785a946227e47dc0","tarball":"https://registry.npmjs.org/@ahmedxwael/nextjs-app/-/nextjs-app-1.0.5.tgz","fileCount":45,"unpackedSize":66745,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAo8SERZTRgT5LUzMQQ2auIy3ewxyHkC3qLNrwoPT+KqAiBuBkzEVpCAroq9tL19rlBzEF7chY6ehhXNOGc8K2ldFg=="}]},"_npmUser":{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"},"directories":{},"maintainers":[{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextjs-app_1.0.5_1776629743479_0.07136979183295034"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-12T03:13:54.595Z","modified":"2026-04-19T20:15:43.719Z","1.0.2":"2026-03-12T03:13:54.850Z","1.0.3":"2026-03-18T23:11:19.212Z","1.0.4":"2026-04-19T20:05:52.842Z","1.0.5":"2026-04-19T20:15:43.605Z"},"license":"MIT","description":"CLI to scaffold a modular Next.js starter template.","maintainers":[{"name":"ahmedxwael","email":"ahmedwael3919@gmail.com"}],"readme":"# Basic Next.js Starter\n\nA modular Next.js starter built for real product code, not throwaway demos.  \nUses App Router + TypeScript + feature-first modules with clear boundaries between UI, domain logic, and configuration.\n\n## Scaffold a New Project\n\n```bash\nnpx create-basic-nextjs my-app\n```\n\nYou can also pass a relative or absolute path:\n\n```bash\nnpx create-basic-nextjs ./projects/my-app\n```\n\nThis copies the full starter template into a new directory, updates `package.json` with your project name, and strips out template-only internals (the CLI itself, `.git`, `node_modules`, `.env` files). You end up with a clean, ready-to-develop project.\n\n## Tech Stack\n\n- Next.js 16 (App Router)\n- React 19 + TypeScript\n- Tailwind CSS v4\n- shadcn/ui (Radix UI + CVA)\n- ESLint + Prettier\n\n## Getting Started\n\nAfter scaffolding:\n\n```bash\ncd my-app\nnpm install\n```\n\nCreate your environment file (not copied by the CLI):\n\n```bash\ncp .env.example .env.local\n```\n\nStart the dev server:\n\n```bash\nnpm run dev\n```\n\nApp runs at [http://localhost:3000](http://localhost:3000).\n\n## Environment Variables\n\nConfigure in `.env.local`:\n\n| Variable        | Description                                      | Example                    |\n|-----------------|--------------------------------------------------|----------------------------|\n| `APP_NAME`      | Display name of the app                          | `\"My App\"`                 |\n| `APP_VERSION`   | App version string                               | `1.0.0`                    |\n| `COOKIE_PREFIX` | Prefix for all cookie names (avoids collisions)  | `\"my-app-\"`                |\n| `BASE_API_URL`  | Base URL for the API endpoint                    | `https://api.example.com`  |\n\n> `.env.local` is excluded from the CLI copy. You must create it manually in your generated project.\n\n## Available Scripts\n\n| Script              | Description              |\n|---------------------|--------------------------|\n| `npm run dev`       | Start development server |\n| `npm run build`     | Create production build  |\n| `npm run start`     | Run production server    |\n| `npm run lint`      | Run ESLint               |\n\n## Project Structure\n\nSee [STRUCTURE.md](./STRUCTURE.md) for a full breakdown of the folder layout, module anatomy, routing conventions, config layer, and how to add new features.\n\n## CLI Reference\n\n### Usage\n\n```bash\n# Via npx (recommended)\nnpx create-basic-nextjs <project-name>\n\n# Via npx with a path\nnpx create-basic-nextjs path/to/my-app\n\n# Local (inside this repo)\nnpm run scaffold -- <project-name>\n```\n\n### What Gets Copied\n\nEverything in the template root **except**:\n\n- `.git/`\n- `.next/`\n- `node_modules/`\n- `dist/`\n- `coverage/`\n- `cli/`\n- `.env` / `.env.local`\n- `.DS_Store`\n\n### Project Name Normalization\n\nThe generated `package.json` name is derived from the directory name: lowercased, non-alphanumeric characters replaced with `-`, and leading/trailing dashes stripped.  \nExample: `My App 2` → `my-app-2`.\n\n### Error Cases\n\n| Situation                     | Behavior                                      |\n|-------------------------------|-----------------------------------------------|\n| No argument provided          | Prints usage hint, exits with code 1          |\n| Argument starts with `-`      | Prints usage hint, exits with code 1          |\n| Target directory already exists | Prints path, exits with code 1             |\n\n## Contributing & Publishing\n\nBump the version:\n\n```bash\nnpm version patch\n```\n\nPublish:\n\n```bash\nnpm publish --access public\n```\n\nUsers can then scaffold with:\n\n```bash\nnpx create-basic-nextjs my-app\n```\n","readmeFilename":"README.md"}