kibo-nuxt-init
v0.1.2
Published
Cli to init a new nuxt project opinionated by TEKIBO preferences
Readme
kibo-nuxt-init
An opinionated CLI tool to initialize Nuxt projects with TEKIBO preferred configurations, directory structures, and module stacks.
🚀 Quick Start
The fastest way to get a fully configured project up and running:
# Initialize a new project in a folder named 'my-app'
npx kibo-nuxt-init my-app
# Initialize in the current directory
npx kibo-nuxt-init .🛠 Installation
You can install the CLI globally or run it directly using npx.
# Global installation
npm install -g kibo-nuxt-init
# Use via npx (recommended)
npx kibo-nuxt-init [command] [name] [package-manager] [flags]📖 Commands & Flows
The CLI is built around "Flows". Each flow targets a specific setup complexity.
1. full (Default Flow)
The complete TEKIBO experience. Best for starting new production-ready applications.
- Includes: Nuxt UI, Pinia (with PersistedState & Colada), VueUse, ESLint (Antfu), and VSCode Settings.
- Structure: Generates the standard folder hierarchy (
app/,server/,shared/).
kibo-nuxt-init full my-app pnpm2. base
A lightweight starting point without the state management overhead.
- Includes: Nuxt UI, ESLint (Antfu), and VSCode Settings.
- Structure: Generates the standard folder hierarchy.
kibo-nuxt-init base my-clean-app3. eslint
Adds opinionated linting to an existing project.
- Includes:
@antfu/eslint-config,eslint-plugin-format, and a pre-configured.vscode/settings.json. - Note: Updates
nuxt.config.tsto register the ESLint module.
kibo-nuxt-init eslint4. pinia
Adds state management to an existing project.
- Includes: Pinia core and selected plugins.
- Behavior: By default, installs the full Pinia stack (PersistedState + Colada) unless specific flags are used.
kibo-nuxt-init pinia⚙️ Configuration Flags
Starting from version 0.0.1, all short-flag aliases have been removed to prevent parsing ambiguity. Please use explicit long-form flags.
| Flag | Default | Description |
| :--- | :--- | :--- |
| --name | . | Target directory name for initialization. |
| --packageManager | bun | One of bun, pnpm, npm, yarn, or deno. |
| --desc | Nuxt project | Description field for the generated package.json. |
Module Specific Flags (Granular Control)
Use these flags with the pinia command or as additional options for full/base.
| Flag | Effect |
| :--- | :--- |
| --pinia | Installs Pinia + PersistedState + Colada (Full stack). |
| --pinia-persistedstate | Installs Pinia + PersistedState plugin only. |
| --pinia-colada | Installs Pinia + Colada (Data fetching) only. |
💡 Examples
New Project Scenarios
Standard Pnpm Setup:
kibo-nuxt-init my-project pnpm --desc "Strategic internal portal"Clean Base Setup (No Pinia):
kibo-nuxt-init base my-landing-page bunExisting Project Scenarios
Add only Colada for data fetching:
kibo-nuxt-init . --pinia-colada --packageManager pnpmJust sync ESLint/VSCode settings:
kibo-nuxt-init eslint📂 Project Structure
Flows like full and base will organize your project into a clean, scalable structure:
├── app/
│ ├── composables/ # Shared Vue logic
│ ├── layouts/ # Layout components (with UApp wrapper)
│ ├── lib/ # Third-party integrations/utils
│ ├── pages/ # Application routes
│ └── stores/ # Pinia stores
├── server/ # Nitro server engine (API/Middlewares)
├── shared/ # Types/Utils shared between App & Server
├── nuxt.config.ts # Auto-configured modules & ESLint
├── eslint.config.mjs # TEKIBO Stylistic Rules
└── .vscode/settings.json # Auto-fix on Save & Tailwind sorting✨ Features
- Dependency-Free Runtime: The tool is bundled into a single optimized file with zero production dependencies.
- Non-Interactive: Automatically pre-approves installs (uses
-y) for seamless CI/CD and script integration. - Visual Excellence: Default layouts come pre-wrapped with
<UApp>,<UHeader>, and<UMain>for an immediate premium feel. - Type Safety: Built entirely with TypeScript for reliable project scaffolding.
- Smart Formatting: ESLint is configured to auto-fix on save, including import sorting and Tailwind class prioritization.
📄 License
ISC © TEKIBO
