{"_id":"@ashiba-dev/ashiba","_rev":"5-550090be747faa6129786e1defce020a","name":"@ashiba-dev/ashiba","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@ashiba-dev/ashiba","version":"0.1.0","author":{"url":"https://nickradford.dev","name":"Nick Radford","email":"nick@nickradford.dev"},"_id":"@ashiba-dev/ashiba@0.1.0","maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"bin":{"ashiba":"dist/ashiba"},"dist":{"shasum":"0ab613e271813c0137dc537768c867fec2a2bd77","tarball":"https://registry.npmjs.org/@ashiba-dev/ashiba/-/ashiba-0.1.0.tgz","fileCount":33,"integrity":"sha512-/fIckWKmMqGDtEY9g+6puNUCAmn62RvUdobu3Rd3YfmnNcI0wLU9MeKD0Z7zigNLcR9aeDD2NhN0lQsn5izO7A==","signatures":[{"sig":"MEUCIQCSs4uUU7U6oNG+iGa9SILrP4L6rJcWJq+AwR0QCOVbTgIgM1kpW8mhjEHMJO1U55XM3uCTHHXJCkD7IfRRvoW2duY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60136442},"type":"module","gitHead":"cd0451293bb12dffd44de10d6051871c7510780a","scripts":{"dev":"bun run src/cli/index.ts","test":"bun test","build":"bun build --compile --minify src/cli/index.ts --outfile dist/ashiba","check":"bunx tsc --noEmit","release":"release-it","clean:test":"rm -rf test"},"_npmUser":{"name":"nickradford","email":"nick@nicholasradford.com"},"_npmVersion":"10.9.2","description":"Blazing fast file scaffolding with Bun","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ashiba":".","arktype":"^2.1.28","commander":"^14.0.2","smol-toml":"^1.5.2","picocolors":"^1.0.0","@inquirer/prompts":"^8.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.4","release-it":"^19.0.6","@inquirer/testing":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ashiba_0.1.0_1765421277301_0.6954226125335534","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ashiba-dev/ashiba","version":"0.1.1","author":{"url":"https://nickradford.dev","name":"Nick Radford","email":"nick@nickradford.dev"},"_id":"@ashiba-dev/ashiba@0.1.1","maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"bin":{"ashiba":"dist/ashiba"},"dist":{"shasum":"76e28306a78533cc321a60954709dcd96d9627c7","tarball":"https://registry.npmjs.org/@ashiba-dev/ashiba/-/ashiba-0.1.1.tgz","fileCount":34,"integrity":"sha512-8lSu3T98G062pDygQJ271/klhEBeEAAjteQwFoXFjVNJIrFHQ60JftVWMeeg61KS+1n6I4UoxMddzPXw/vm6Hg==","signatures":[{"sig":"MEUCIQDdvlo2AP8npBq7TkVNtu05iYAQ0f2KeDWoEsITXYlMQQIgZRhtq0U5chduIR5FBFTAk+E6/fHoFolJAc9EppmopHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60136510},"type":"module","gitHead":"8e83f50636a4a164049b4178cf788e39604a2376","scripts":{"dev":"bun run src/cli/index.ts","test":"bun test","build":"bun build --compile --minify src/cli/index.ts --outfile dist/ashiba","check":"bunx tsc --noEmit","release":"release-it","clean:test":"rm -rf test"},"_npmUser":{"name":"nickradford","email":"nick@nicholasradford.com"},"_npmVersion":"10.9.2","description":"Blazing fast file scaffolding with Bun","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ashiba":".","arktype":"^2.1.28","commander":"^14.0.2","smol-toml":"^1.5.2","picocolors":"^1.0.0","@inquirer/prompts":"^8.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.4","release-it":"^19.0.6","@inquirer/testing":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ashiba_0.1.1_1765425213647_0.07341067928732792","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ashiba-dev/ashiba","version":"0.1.2","author":{"url":"https://nickradford.dev","name":"Nick Radford","email":"nick@nickradford.dev"},"_id":"@ashiba-dev/ashiba@0.1.2","maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"bin":{"ashiba":"dist/ashiba"},"dist":{"shasum":"5b1cc5271afc69c2676f2c268c43d986b158a478","tarball":"https://registry.npmjs.org/@ashiba-dev/ashiba/-/ashiba-0.1.2.tgz","fileCount":34,"integrity":"sha512-8RHTRC++/+Ia1bXKQPnFhMwWAhlHC6Di1x3og2TmVxgAUFIJS9LH+7zcoWafp8aPplestIyaKXe4B69YBCx0Ng==","signatures":[{"sig":"MEUCIH7XGYjwR2vB++b30h6CXh1RonLQ+V714nfyFQDxeKUpAiEA3YsJXeyTXFDwjv9P7Mt1sOOonZQB1fYtLgMEky69ZJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60136832},"type":"module","gitHead":"cf803bb51f0a70e42c738878a2b37778eacbbe64","scripts":{"dev":"bun run src/cli/index.ts","test":"bun test","build":"bun build --compile --minify src/cli/index.ts --outfile dist/ashiba","check":"bunx tsc --noEmit","release":"release-it","clean:test":"rm -rf test"},"_npmUser":{"name":"nickradford","email":"nick@nicholasradford.com"},"_npmVersion":"10.9.2","description":"Blazing fast file scaffolding with Bun","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ashiba":".","arktype":"^2.1.28","commander":"^14.0.2","smol-toml":"^1.5.2","picocolors":"^1.0.0","@inquirer/prompts":"^8.0.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.4","release-it":"^19.0.6","@inquirer/testing":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ashiba_0.1.2_1765425370241_0.13054746764945913","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ashiba-dev/ashiba","version":"0.1.3","author":{"url":"https://nickradford.dev","name":"Nick Radford","email":"nick@nickradford.dev"},"_id":"@ashiba-dev/ashiba@0.1.3","maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"bin":{"ashiba":"dist/ashiba"},"dist":{"shasum":"129785c93ad69f5d7a50c329b6c5e4dbdfea4cc1","tarball":"https://registry.npmjs.org/@ashiba-dev/ashiba/-/ashiba-0.1.3.tgz","fileCount":34,"integrity":"sha512-7eSg7zXanO0tJnQx9FBNL4UnYTmcEVQ6wHg8gGNAM7l8jqoFX9OyvlW6+l4xFSaiwRCs6z99+PnapfeHM19mYQ==","signatures":[{"sig":"MEUCIGRHRxblmITQcY5dibNTBIKJP0pWQGEDZfiUHUStOPwKAiEA6D4t+iDjMdDIZnGHgcHM+7lzDlSkGAK+g4QKdDzXQFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60238257},"type":"module","gitHead":"3b6d2b5e46caac4d25397d3c9e3dead3e3630c50","scripts":{"dev":"bun run src/cli/index.ts","test":"bun test","build":"bun build --compile --minify src/cli/index.ts --outfile dist/ashiba","check":"bunx tsc --noEmit","release":"release-it","clean:test":"rm -rf test"},"_npmUser":{"name":"nickradford","email":"nick@nicholasradford.com"},"_npmVersion":"10.9.2","description":"Blazing fast file scaffolding with Bun","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ashiba":".","arktype":"^2.1.28","commander":"^14.0.2","smol-toml":"^1.5.2","picocolors":"^1.0.0","@inquirer/prompts":"^8.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.4","release-it":"^19.0.6","@inquirer/testing":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ashiba_0.1.3_1765429737918_0.5232627712771893","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@ashiba-dev/ashiba","version":"0.1.4","author":{"name":"Nick Radford","email":"nick@nickradford.dev","url":"https://nickradford.dev"},"repository":{"url":"git+https://github.com/nickradford/ashiba.git"},"dependencies":{"@inquirer/prompts":"^8.0.2","smol-toml":"^1.5.2","arktype":"^2.1.28","ashiba":".","commander":"^14.0.2","picocolors":"^1.0.0"},"devDependencies":{"@inquirer/testing":"^2.1.0","@types/bun":"^1.3.4","release-it":"^19.0.6"},"bin":{"ashiba":"dist/ashiba"},"description":"Blazing fast file scaffolding with Bun","scripts":{"dev":"bun run src/cli/index.ts","build":"bun build --compile --minify src/cli/index.ts --outfile dist/ashiba","check":"bunx tsc --noEmit","test":"bun test","clean:test":"rm -rf test","release":"release-it"},"type":"module","publishConfig":{"registry":"https://registry.npmjs.org/"},"engines":{"node":">=22.0.0","npm":">=11.5.0"},"_id":"@ashiba-dev/ashiba@0.1.4","gitHead":"902a05d34326c307c037b7495f9924dec1586db8","bugs":{"url":"https://github.com/nickradford/ashiba/issues"},"homepage":"https://github.com/nickradford/ashiba#readme","_nodeVersion":"22.21.1","_npmVersion":"11.5.0","dist":{"integrity":"sha512-jxF9OMIDRmylNHlc/OzkgNqmsKvv72Drju5CFHz/mB7Hvt9CQ+pjooHkOLRSewjNQXz/GATXEMFyi8xAwFiujA==","shasum":"fa1dc6d621e283ff4ee1825e63813924ddcf3d78","tarball":"https://registry.npmjs.org/@ashiba-dev/ashiba/-/ashiba-0.1.4.tgz","fileCount":34,"unpackedSize":104223401,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ashiba-dev%2fashiba@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhLMNgg+5jXmue6oWlghhujfqfilK08mkbfnw9UpHVTwIhAJ6IeOKo8FdEA9dcRWOUut0BDuIl63gt45iR/mBpRlXN"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ec90c469-6d91-4efe-87ff-ded6cb2ba9c0"}},"directories":{},"maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ashiba_0.1.4_1765481680508_0.9052324813774486"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T02:47:57.242Z","modified":"2025-12-11T19:34:42.035Z","0.1.0":"2025-12-11T02:47:58.042Z","0.1.1":"2025-12-11T03:53:34.575Z","0.1.2":"2025-12-11T03:56:10.970Z","0.1.3":"2025-12-11T05:08:59.439Z","0.1.4":"2025-12-11T19:34:41.596Z"},"author":{"name":"Nick Radford","email":"nick@nickradford.dev","url":"https://nickradford.dev"},"description":"Blazing fast file scaffolding with Bun","maintainers":[{"name":"nickradford","email":"nick@nicholasradford.com"}],"readme":"# 🏗️ Ashiba\n\n**Ashiba** (足場) means “scaffolding” in Japanese — a blazing-fast file scaffolding CLI built with **Bun**.  \nDefine reusable project templates using TOML, and generate files in miliseconds from the command line.\n\n---\n\n## ✨ Features\n\n- ⚡ **Instant startup** — built on Bun, optimized for speed\n- 🧩 **Template-based generation** — define scaffolds in `.ashiba/`\n- 🗄️ **TOML-powered config** — readable, minimal, and flexible\n- 🧠 **Interactive prompts** — guided input with select/dropdown support\n- 🪶 **Lightweight architecture** — clean separation of CLI, config, and file logic\n- 🔌 **Extensible commands** — powered by [commander](https://github.com/tj/commander.js) for structured CLI parsing\n\n---\n\n## 📦 Installation\n\nOnce published, install globally with Bun:\n\n```bash\nbun install -g @ashiba-dev/ashiba\n```\n\nFor local development:\n\n```bash\nbun link\n```\n\nThen you can run `ashiba` anywhere on your system.\n\n---\n\n## 🧱 Quick Start\n\nCreate a `.ashiba` directory in your project root:\n\n```\n.ashiba/\n├─ blog-post.toml\n├─ blog-post/\n│  └─ {title}.md\n```\n\nDefine your scaffold config in `blog-post.toml`:\n\n```toml\ndescription = \"A basic blog post template\"\norder = [\"title\", \"author\"]\n\n[title]\ndescription = \"The title of the post\"\n\n[author]\ndescription = \"Who wrote the blog post\"\nselect = [\"Nick\", \"Alice\", \"Jean\"]\n```\n\nThen generate your scaffold:\n\n```bash\nashiba new blog-post -o path/to/where/you/want/the/generated/files\n```\n\nYou’ll be prompted for each field:\n\n```\n? The title of the post: Hello World\n? Who wrote the blog post: Alice\n```\n\nAshiba will interpolate variables into filenames and contents:\n\n```\n./\n└── Hello World.md\n```\n\n---\n\n## 📋 Input Types\n\nAshiba supports four input types in your TOML config:\n\n**Text** — Standard text input\n\n```toml\n[name]\ndescription = \"The name of the file\"\n```\n\n**Number** — Numeric input with optional min/max validation\n\n```toml\n[reading_goal]\ndescription = \"How many books do you want to read?\"\ntype = \"number\"\ndefault = 5\nmin = 1\nmax = 100\n```\n\n**Select** — Choose from predefined options\n\n```toml\n[author]\ndescription = \"Who is writing the thing?\"\nselect = [\"Larry\", \"Curly\", \"Moe\"]\n```\n\n**Confirm** — Boolean yes/no prompt\n\n```toml\n[publish]\nconfirm = \"Should this be published now?\"\n```\n\n---\n\n## 🔧 Project Architecture\n\n```\nashiba/\n├─ src/\n│  ├─ cli/\n│  │  ├─ index.ts        # CLI entry point & program setup\n│  │  └─ commands/\n│  │     ├─ index.ts     # Command exports\n│  │     ├─ new.ts       # Scaffold new template command\n│  │     └─ list.ts      # List templates command\n│  ├─ core/\n│  │  ├─ config.ts       # Loads and validates TOML configs\n│  │  ├─ scaffold.ts     # Core file generation & interpolation\n│  │  ├─ prompt.ts       # Interactive CLI prompts\n│  │  └─ templates.ts    # Template discovery & metadata\n│  └─ utils/\n│     └─ fs.ts           # File system utilities\n├─ .ashiba/              # User template definitions\n├─ dist/                 # Compiled binary output\n├─ package.json\n├─ tsconfig.json\n├─ bunfig.toml\n└─ README.md\n```\n\n### Core commands\n\n| Command                 | Description                                       |\n| ----------------------- | ------------------------------------------------- |\n| `ashiba new <template>` | Create a new file scaffold using a named template |\n| `ashiba list`           | List all available templates                      |\n| `ashiba help`           | Show command help and options                     |\n\nAshiba uses [commander](https://github.com/tj/commander.js) for command handling, [smol-toml](https://github.com/squirrelchat/smol-toml) for parsing TOML, [arktype](https://github.com/arktypeio/arktype) for validation, and [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) for interactive input.\n\n---\n\n## 💡 Example Use Cases\n\n- Generate blog posts and changelogs\n- Bootstrap feature modules or components\n- Create new microservices or handler scaffolds\n\n---\n\n## 🧰 Development\n\nRun locally:\n\n```bash\nbun run dev new blog-post\n```\n\nBuild for distribution:\n\n```bash\nbun run build\n```\n\nNew commands are built in `src/cli/commands/` using [commander](https://github.com/tj/commander.js)\n\n---\n\n## ⚖️ License\n\nMIT — feel free to hack, modify, and scaffold your heart out.\n","readmeFilename":"README.md","homepage":"https://github.com/nickradford/ashiba#readme","repository":{"url":"git+https://github.com/nickradford/ashiba.git"},"bugs":{"url":"https://github.com/nickradford/ashiba/issues"}}