{"_id":"@ashlurk/forge","name":"@ashlurk/forge","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@ashlurk/forge","version":"1.0.0","description":"One command to scaffold any project — React, Next.js, Python, Gradle, and more.","type":"module","bin":{"forge":"bin/forge.js"},"scripts":{"dev":"node bin/forge.js"},"dependencies":{"chalk":"^5.3.0","commander":"^12.0.0","execa":"^8.0.1","inquirer":"^9.2.12","ora":"^8.0.1"},"engines":{"node":">=18.0.0"},"keywords":["cli","scaffold","create","project","react","nextjs","python","gradle"],"license":"MIT","_id":"@ashlurk/forge@1.0.0","_nodeVersion":"22.12.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-N+QcPcpct9FSQUE7mzBk6LI/stQb1/M7+fn/LzXl/ePxa9xovAyXNDEGE5Bq7xoGA3JA2EezFzpOglPydE9Pkg==","shasum":"964fa958e192aa5a86a2e6b845b768f84bbd21bf","tarball":"https://registry.npmjs.org/@ashlurk/forge/-/forge-1.0.0.tgz","fileCount":6,"unpackedSize":34411,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGzLg6LtSjHTFyc3l2YouJXOciSwC2Cdvqv8UKUaV868AiAPICqpB3z36RAkWmpFWKhz1rru+rrw2jAbM+CvXb3INQ=="}]},"_npmUser":{"name":"ashlurk","email":"ashlurk367@gmail.com"},"directories":{},"maintainers":[{"name":"ashlurk","email":"ashlurk367@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forge_1.0.0_1777647631946_0.07772127971695952"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T15:00:31.889Z","1.0.0":"2026-05-01T15:00:32.101Z","modified":"2026-05-01T15:00:32.276Z"},"maintainers":[{"name":"ashlurk","email":"ashlurk367@gmail.com"}],"description":"One command to scaffold any project — React, Next.js, Python, Gradle, and more.","keywords":["cli","scaffold","create","project","react","nextjs","python","gradle"],"license":"MIT","readme":"# ⚡ forge-cli\n\n> One command to scaffold any project. React, Next.js, Vue, Python, Gradle, Rust — just `forge` it.\n\n## Install\n\n```bash\n# After publishing\nnpm install -g @ashlurk/forge\n\n# For local development\nnpm install\nnpm install -g .\n```\n\n## Usage\n\n```bash\nforge <template> [variant] [project-name]\n```\n\nThat's it. No flags. No config. Just one intuitive command.\n\n---\n\n## Examples\n\n### JavaScript / TypeScript\n```bash\nforge react my-app                  # React (CRA)\nforge react vite my-app             # React + Vite\nforge react vite-ts my-app          # React + Vite + TypeScript\nforge react ts my-app               # React + TypeScript (CRA)\n\nforge next my-app                   # Next.js (interactive)\nforge nextjs ts my-app              # Next.js + TypeScript + Tailwind + App Router\n\nforge vue my-app                    # Vue 3 + Vite\nforge vue ts my-app                 # Vue 3 + TypeScript\nforge vue nuxt my-app               # Nuxt.js\n\nforge svelte my-app                 # Svelte + Vite\nforge svelte kit my-app             # SvelteKit\n\nforge angular my-app                # Angular CLI\nforge express my-api                # Express.js\nforge express ts my-api             # Express + TypeScript\n```\n\n### Python\n```bash\nforge python my-project             # Basic Python + venv\nforge python fastapi my-api         # FastAPI + uvicorn + venv\nforge python flask my-app           # Flask + venv\nforge python django my-site         # Django\n```\n\n### Java / JVM\n```bash\nforge gradle my-app                 # Gradle Java app\nforge gradle kotlin my-app          # Gradle Kotlin app\nforge gradle lib my-lib             # Gradle Java library\n\nforge maven my-app                  # Maven quickstart\nforge maven spring my-app           # Spring Boot (Maven)\n\nforge spring my-app                 # Spring Boot Web (Maven)\nforge spring gradle my-app          # Spring Boot Web (Gradle)\n```\n\n### Other Languages\n```bash\nforge rust my-crate                 # Cargo binary\nforge rust lib my-crate             # Cargo library\nforge go my-service                 # Go module\n```\n\n### Mobile\n```bash\nforge expo my-app                   # React Native (Expo blank)\nforge expo ts my-app                # React Native + TypeScript\n```\n\n### Meta-frameworks & Tooling\n```bash\nforge astro my-site                 # Astro\nforge remix my-app                  # Remix\nforge turbo my-monorepo             # Turborepo monorepo\n```\n\n---\n\n## Interactive Mode\n\nRunning `forge` with no arguments opens an interactive picker:\n\n```bash\nforge\n```\n\n---\n\n## All Templates\n\n| Command         | Description                          |\n|-----------------|--------------------------------------|\n| `react`         | React (CRA or Vite)                  |\n| `next` / `nextjs`| Next.js                             |\n| `vue`           | Vue 3 + Vite / Nuxt                  |\n| `svelte`        | Svelte / SvelteKit                   |\n| `angular`       | Angular CLI                          |\n| `express`       | Express.js / Express + TS            |\n| `python`        | Python + venv / FastAPI / Flask / Django |\n| `gradle`        | Gradle Java / Kotlin                 |\n| `maven`         | Maven / Spring Boot (Maven)          |\n| `spring`        | Spring Boot                          |\n| `rust`          | Cargo binary / library               |\n| `go`            | Go module                            |\n| `expo`          | React Native via Expo                |\n| `astro`         | Astro                                |\n| `remix`         | Remix                                |\n| `turbo`         | Turborepo monorepo                   |\n\n---\n\n## List all templates\n\n```bash\nforge --list\n```\n\n---\n\n## Contributing\n\nAdding a new template is simple — open `src/templates.js` and add an entry to `TEMPLATES`:\n\n```js\nmytool: {\n  label: \"MyTool\",\n  emoji: \"🔧\",\n  color: chalk.green,\n  description: \"My awesome framework\",\n  variants: {\n    default: {\n      label: \"MyTool starter\",\n      command: (name) => `npx create-mytool ${name}`,\n    },\n    ts: {\n      label: \"MyTool + TypeScript\",\n      command: (name) => `npx create-mytool ${name} --ts`,\n    },\n  },\n},\n```\n\nFor custom scaffolding (file creation, venv setup, etc.), add a function in `src/scaffolders.js` and wire it up in `src/create.js`.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-6d4cb1cca7e477976b49a7debf763d45"}