{"_id":"@aksh_npm/firstbase","name":"@aksh_npm/firstbase","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@aksh_npm/firstbase","version":"0.0.1","description":"A small CLI for scaffolding React or Next.js projects with a theme-first baseline.","bin":{"firstbase":"dist/bin/firstbase.js"},"type":"module","keywords":["react","nextjs","boilerplate","tailwind","axios","theme","cli","scaffold"],"author":{"name":"Akshay Bendadi"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Akshay-bendadi/firstbase.git"},"homepage":"https://github.com/Akshay-bendadi/firstbase#readme","bugs":{"url":"https://github.com/Akshay-bendadi/firstbase/issues"},"publishConfig":{"access":"public"},"dependencies":{"@hookform/resolvers":"5.2.2","@tanstack/react-query":"5.99.0","axios":"1.15.0","chalk":"5.6.2","class-variance-authority":"0.7.1","clsx":"2.1.1","lucide-react":"1.8.0","prompts":"2.4.2","react-hook-form":"7.72.1","sonner":"2.0.7","tailwind-merge":"3.5.0","zod":"4.3.6"},"devDependencies":{"@testing-library/jest-dom":"6.9.1","@testing-library/react":"16.3.2","@trivago/prettier-plugin-sort-imports":"6.0.2","@types/node":"22.19.17","@types/prompts":"2.4.9","husky":"9.1.7","jsdom":"29.0.2","prettier":"3.8.3","tailwindcss-animate":"1.0.7","typescript":"5.9.3","vitest":"4.1.4"},"engines":{"node":">=20.19.0"},"scripts":{"clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","build":"tsc","postbuild":"node ./scripts/generate-template-manifest.mjs","build:watch":"tsc --watch","start":"node ./dist/bin/firstbase.js","dev":"npm run clean && npm run build && npm start","typecheck":"tsc --noEmit","template:verify":"node ./scripts/verify-template-manifest.mjs","security:audit":"node ./scripts/npm-command.mjs audit --audit-level=high","pack:dry-run":"node ./scripts/npm-command.mjs pack --dry-run","release:dry-run":"node ./scripts/npm-command.mjs publish --dry-run","prepublishOnly":"node ./scripts/prepublish-check.mjs","check":"npm run typecheck && npm run build && npm run template:verify"},"_id":"@aksh_npm/firstbase@0.0.1","_integrity":"sha512-WGsHB7i6jfYRmpeuc+TPfHbTHWTxEkot5n+ChmuogcUBAyCfBiLr8WNCm/KRs27mDCtjjThZupCqAYAP5gqbWw==","_resolved":"/home/runner/work/firstbase/firstbase/aksh_npm-firstbase-0.0.1.tgz","_from":"file:aksh_npm-firstbase-0.0.1.tgz","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-WGsHB7i6jfYRmpeuc+TPfHbTHWTxEkot5n+ChmuogcUBAyCfBiLr8WNCm/KRs27mDCtjjThZupCqAYAP5gqbWw==","shasum":"13a3df68b830513b204dbd94d265997e60543d46","tarball":"https://registry.npmjs.org/@aksh_npm/firstbase/-/firstbase-0.0.1.tgz","fileCount":16,"unpackedSize":168464,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aksh_npm%2ffirstbase@0.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGugvjmTibjL1p42Kkbo36SwOk7PKueyFK/f7Oi0qvrmAiBehBKKYGmkAeUSdbW1xQ6gQMSPdClcxqNUjXA1ArDAlQ=="}]},"_npmUser":{"name":"aksh_npm","email":"akshaybendadi@gmail.com"},"directories":{},"maintainers":[{"name":"aksh_npm","email":"akshaybendadi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/firstbase_0.0.1_1777654149467_0.4917328965661747"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T16:49:09.388Z","0.0.1":"2026-05-01T16:49:09.619Z","modified":"2026-05-01T16:49:09.966Z"},"maintainers":[{"name":"aksh_npm","email":"akshaybendadi@gmail.com"}],"description":"A small CLI for scaffolding React or Next.js projects with a theme-first baseline.","homepage":"https://github.com/Akshay-bendadi/firstbase#readme","keywords":["react","nextjs","boilerplate","tailwind","axios","theme","cli","scaffold"],"repository":{"type":"git","url":"git+https://github.com/Akshay-bendadi/firstbase.git"},"author":{"name":"Akshay Bendadi"},"bugs":{"url":"https://github.com/Akshay-bendadi/firstbase/issues"},"license":"MIT","readme":"# Firstbase\n\nCLI scaffold for starting a React or Next.js app with a production-oriented Tailwind foundation.\n\n## What it does\n\n- Creates a new project folder from an interactive prompt\n- Supports `Next.js` and `React + Vite`\n- Targets the current stable React 19 and Next.js 16 lines\n- Writes a Tailwind theme, starter page, and shared CSS variables\n- Adds optional shadcn-ready component wiring\n- Adds an optional Husky pre-commit hook\n- Writes a minimal Axios client with a response interceptor\n- Generates `.env.local` and `.env.example`\n- Generates a production `.gitignore`\n- Adds Prettier with import sorting\n- Adds a GitHub Actions CI workflow with dependency audit\n- Adds a PR-only GitHub Dependency Review workflow\n- Adds an optional Socket Security workflow when `SOCKET_SECURITY_API_KEY` and `SOCKET_ORG` are configured in GitHub\n- Generates a production `.gitignore` with build, cache, log, editor, and env entries\n- Offers a fast default setup or an advanced mode with React Query, SEO metadata, tests, and language support\n- Advanced mode can also add auth scaffolding, validated forms, a toast system, and an i18n language switcher\n- Generates a stack-aware README inside the created app so the selected tech choices are documented automatically\n- Includes a version manifest in the generated app README so installed package versions are visible after setup\n- Generates `docs/production-setup.md` inside each app with package versions, selected modules, quality commands, and integration steps\n- Adds secure defaults for project-name validation, env placeholders, secret file ignores, Axios timeouts, Next.js security headers, and release guardrails\n- Generates a Vite alias config for React so shadcn-style imports work in the browser too\n- Uses animated CLI step messages\n\n## Install\n\n```bash\nnpx @aksh_npm/firstbase@latest\n```\n\nIf you are developing this package locally:\n\n```bash\nnpm install\nnpm run build\nnpm run start\n```\n\n## Usage\n\nRun the CLI and answer the prompts:\n\n```bash\nnpx @aksh_npm/firstbase\n```\n\nThe prompts let you choose:\n\n- Project name\n- Framework: `React (Vite)` or `Next.js`\n- Language: `JavaScript` or `TypeScript`\n- Next.js routing: `App Router` or `Pages Router`\n- UI library: `None` or `Shadcn UI`\n- Husky pre-commit hook: on or off\n- Advanced setup: `Skip extra setup` or `Go advanced`\n- Advanced mode extras:\n  - React Query\n  - Auth scaffold\n  - Forms stack\n  - Toast system\n  - Language support\n  - SEO metadata for Next.js\n  - Test setup\n\n## Generated foundation\n\nThe theme setup writes:\n\n- `tailwind.config.js` or `tailwind.config.ts`\n- `app/globals.css` for Next.js App Router\n- `styles/globals.css` for Next.js Pages Router\n- `src/index.css` for React + Vite\n- a starter page that uses Tailwind utility classes immediately\n- a floating dark/light theme toggle on the starter page\n\nThe optional shadcn setup writes:\n\n- `components.json`\n- `components/ui/button`, `components/ui/card`, `components/ui/badge`, `components/ui/input`, `components/ui/label`, `components/ui/textarea`, and `components/ui/separator`\n- `lib/utils` or `src/lib/utils`\n\nThe optional Husky setup writes:\n\n- `prepare` and `check` scripts in the generated `package.json`\n- `.husky/pre-commit`\n- a pre-commit quality gate that runs `npm run check`\n- no network calls in the default hook\n\nThe API client writes:\n\n- `lib/api.js` or `lib/api.ts` for Next.js\n- `src/lib/api.js` or `src/lib/api.ts` for React + Vite\n- `lib/env.js` or `lib/env.ts` for Next.js\n- `src/lib/env.js` or `src/lib/env.ts` for React + Vite\n- a basic response interceptor that redirects `401` responses to `/login`\n- a 15 second timeout\n- same-origin request enforcement for the configured API instance\n- `.env.local` and `.env.example` with the API base URL variable\n\nThe formatting and CI setup writes:\n\n- `.prettierrc.cjs`\n- `.prettierignore`\n- `.github/workflows/ci.yml`\n- `.github/workflows/socket.yml`\n- `.nvmrc` and `.node-version` pinned to Node `20.19.0`\n- `eslint.config.mjs` for Next.js projects\n- `next.config.*` with baseline security headers for Next.js projects\n- `format` and `format:check` scripts in the generated `package.json`\n- `check` script in the generated `package.json`\n- `.gitignore`\n\nThe advanced setup can additionally write:\n\n- `query-client` and `Providers` for React Query\n- `auth` provider and demo auth panel\n- `contact-form` scaffold built with React Hook Form and Zod\n- `toast-demo` scaffold and `sonner` wiring\n- `i18n` provider and language switcher\n- homepage feature sections that appear based on the advanced selections\n- `vitest.config.*`, `test/setup.*`, and a sample component test\n- selected-module tests for auth and forms when those modules are enabled\n- SEO metadata for Next.js App Router or Pages Router\n\nThe generated app also receives:\n\n- `docs/production-setup.md`\n- a package version manifest tailored to the selected setup\n- integration steps for env setup, local development, tests, Husky, CI, and production builds\n\n## Notes\n\n- The generator now writes starter content with real Tailwind classes so the build does not start from an empty content scan.\n- The API client now validates the env value before creating Axios, so a missing URL fails fast with a clear error.\n- Prettier is configured to sort imports consistently.\n- Generated projects include a production `.gitignore` and an initial README note about the first commit being prepared.\n- The CLI now animates the major scaffold steps, not just the intro banner.\n- The generator keeps the fast path short and only asks advanced questions when you choose `Go advanced`.\n- The advanced flow now includes auth, forms, toast, and language prompts in addition to React Query, SEO, and tests.\n- The generated homepage now visibly shows the selected advanced sections.\n- The generated homepage now includes an interactive showcase for auth, forms, and toasts.\n- The generated app README is tailored to the selected stack, features, and layout.\n- React + Vite projects now get a runtime `@` alias in `vite.config.*` plus matching shadcn alias config.\n- React projects target React `19.2.5`; Next.js projects target Next.js `16.2.4` and React `19.2.5`.\n- Next.js 16 uses Turbopack by default, and the generator uses `eslint .` instead of the removed `next lint` command.\n- Direct CLI package dependencies are pinned exactly, and generated app install commands use exact versions with `--save-exact`.\n- Generated CI runs `npm audit --audit-level=high`; Husky does not run audit so commits do not trigger network calls.\n- Generated GitHub Dependency Review runs in its own pull-request workflow so push CI does not show a skipped dependency-review step. It passes with a plain log message until GitHub dependency graph support is enabled for the repository.\n- Generated Socket Security workflow always runs a preflight job, skips cleanly when the Socket token is not configured, and requires the repository variable `SOCKET_ORG` to contain the Socket organization slug.\n- npm publishing is guarded by CI-only release workflow checks, npm provenance, dry-run package inspection, and release checksums.\n- The CLI does not collect telemetry.\n- The CLI refuses to scaffold into a non-empty folder so stale files do not leak into new runs.\n- The CLI now prints a friendly error instead of a raw stack trace when setup fails.\n- If you want a clean fresh generation, delete the output folder and rerun the CLI.\n\n## Development\n\n```bash\nnpm install\nnpm run build\n```\n\nThe compiled binary is written to `dist/bin/firstbase.js`.\n","readmeFilename":"README.md","_rev":"1-97f2b04990dc529a2f6f0bf3f5dd812d"}