{"_id":"@airaga/cli","_rev":"7-04f4e71347b1b7a02f7bbfef8971558a","name":"@airaga/cli","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@airaga/cli","version":"0.0.1","_id":"@airaga/cli@0.0.1","maintainers":[{"name":"a6iyyu","email":"rafiabiyyu.dev@gmail.com"}],"bin":{"airaga":"dist/index.js"},"dist":{"shasum":"f6b8c3e14c90f0a0803232637eddc71df3c5ad65","tarball":"https://registry.npmjs.org/@airaga/cli/-/cli-0.0.1.tgz","fileCount":40,"integrity":"sha512-SOukjWUYxDW05XxUm397fQYh87fKfY2kS2SpUmkGohghtT0fLuuvWX6bdCDRLQo7FW45DOq4uGguKnAXakNpPg==","signatures":[{"sig":"MEQCIFx0LZga/m4qtAThmbuSzPxzK5VG2RLZ1wSDdOAFUDjKAiB5X9tylneQdqUc53FcjGpgtzfG6RQ5LuNf6Iq6/Ok0aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"acfcaa30fafcae65a5cb1d45297818feb5ba6265","_npmUser":{"name":"a6iyyu","email":"rafiabiyyu.dev@gmail.com"},"_npmVersion":"11.5.1","description":"<h1 align=\"center\">@airaga/cli</h1>","directories":{},"_nodeVersion":"24.11.1","dependencies":{"uuid":"^11.1.0","dedent":"^1.6.0","@clack/prompts":"^0.11.0","@faker-js/faker":"^10.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"latest","@types/uuid":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.1_1781017689105_0.5095219328279674","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@airaga/cli","main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","version":"0.0.2","bin":{"airaga":"dist/index.js"},"dependencies":{"airaga":"workspace:*","@airaga/media":"workspace:*","@airaga/parser":"workspace:*","@clack/prompts":"^0.11.0","@faker-js/faker":"^10.4.0","dedent":"^1.6.0","uuid":"^11.1.0"},"devDependencies":{"@types/node":"latest","@types/uuid":"^10.0.0"},"publishConfig":{"access":"public"},"_id":"@airaga/cli@0.0.2","gitHead":"d6106fc09dd6302ecb63610b9b4cb0c119b9e7d1","description":"<h1 align=\"center\">@airaga/cli</h1>","_nodeVersion":"24.11.1","_npmVersion":"11.5.1","dist":{"integrity":"sha512-ecnVvETy0c6+sM0xBa0Q0yvkb4Wwggjx8zOhDKnu1otBjO2ss/gZetsLLbFJfmZ3//pr1QmBTgWaODdnVqXhqA==","shasum":"3f988366aae4bc833e13d55bbb38a06c1851c516","tarball":"https://registry.npmjs.org/@airaga/cli/-/cli-0.0.2.tgz","fileCount":37,"unpackedSize":134332,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBoVyLN7PQneo4WTJ+QzszpDTCSdURHJFDNdEEkjjtV+AiEA6jSJIuTamCrHhgjD8MsDuvzdhRwPg9foxVkYNUons5M="}]},"_npmUser":{"name":"a6iyyu","email":"rafiabiyyu.dev@gmail.com"},"directories":{},"maintainers":[{"name":"a6iyyu","email":"rafiabiyyu.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.2_1781278274344_0.9705431443490513"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T15:08:08.931Z","modified":"2026-06-12T15:31:14.632Z","0.1.1":"2026-06-09T07:22:15.869Z","0.1.2":"2026-06-09T08:17:50.348Z","0.1.4":"2026-06-09T08:54:45.870Z","0.1.5":"2026-06-09T09:00:45.163Z","0.0.1":"2026-06-09T15:08:09.254Z","0.0.2":"2026-06-12T15:31:14.515Z"},"description":"<h1 align=\"center\">@airaga/cli</h1>","maintainers":[{"name":"a6iyyu","email":"rafiabiyyu.dev@gmail.com"}],"readme":"<h1 align=\"center\">@airaga/cli</h1>\r\n\r\n<p align=\"center\">\r\n  <strong>The official Command Line Interface for the Airaga text game framework.</strong>\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://img.shields.io/npm/v/@airaga/cli?color=blue&label=NPM\" alt=\"NPM Version\" />\r\n  <img src=\"https://img.shields.io/badge/Language-TypeScript-blue\" alt=\"TypeScript\" />\r\n  <img src=\"https://img.shields.io/badge/License-MIT-green\" alt=\"License\" />\r\n</p>\r\n\r\nThis package provides the essential CLI tools for initializing, developing, and building game projects using the Airaga engine.\r\n\r\n---\r\n\r\n✅ **Written in TypeScript:** Provides a robust and type-safe development experience.  \r\n🧪 **Tested with Vitest:** Ensures high reliability and stable commands.  \r\n📦 **Modular Architecture:** Designed to work seamlessly with `@airaga/parser` and `@airaga/media`.\r\n\r\n## ⚙️ Prerequisites\r\n\r\nBefore you begin, ensure you have the following installed:\r\n\r\n- **Node.js** (v18 or newer)\r\n- **Bun** (Recommended for the best experience and performance)\r\n\r\n## 🚀 Installation & Usage\r\n\r\nYou don't need to install the CLI globally. The recommended way to use Airaga is via `bunx` or `npx`, which ensures you are always using the latest version.\r\n\r\n### Starting a New Project\r\n\r\nTo scaffold a new Airaga text game, run the `new` command:\r\n\r\n```bash\r\nbunx airaga new my-text-game\r\ncd my-text-game\r\n```\r\n\r\n### Starting Development Mode\r\n\r\nOnce inside your project directory, start the local development server:\r\n\r\n```bash\r\nbunx airaga dev\r\n```\r\n\r\n## 🛠️ Available Commands\r\n\r\nHere is the detailed behavior of each command available in the CLI:\r\n\r\n**`new <project-name>`**\r\n\r\nScaffolds a fresh Airaga game project.\r\n\r\n- Creates a new directory with the specified project name.\r\n- Generates the default folder structure (e.g., `src/`, `public/`, `assets/`).\r\n- Creates a boilerplate `.arg` file to help you start writing your game immediately.\r\n- Automatically installs the necessary dependencies (`@airaga/media`, `@airaga/parser`, etc.).\r\n\r\n**`dev`**\r\n\r\nStarts the development environment.\r\n\r\n- Parses your `.arg` files in real-time.\r\n- Serves your text game on a local preview URL.\r\n- Watches for file changes and automatically reloads the game state.\r\n\r\n**`build`**\r\n\r\nBundles your game for production deployment.\r\n\r\n- Compiles all .arg scripts into an optimized Abstract Syntax Tree (AST).\r\n- Processes and compresses media files (images, audio) via the internal media pipeline.\r\n- Outputs a minified, deploy-ready folder (usually dist/) that can be hosted on Vercel, Netlify, or any static hosting service.\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions to the Airaga CLI! If you found a bug or want to suggest a feature, please feel free to open an issue or submit a pull request on our GitHub repository.\r\n","readmeFilename":"README.md"}