Package Exports
- devboot
Readme
DevBoot ๐
Zero-config dev environment setup for modern web projects. Add TypeScript, ESLint, Prettier, EditorConfig, and more to your project in seconds with intelligent configuration detection.
โจ Why DevBoot?
Setting up a modern development environment is repetitive and time-consuming. Every new project needs:
- ESLint with v8/v9 support and framework-specific rules
- Prettier for consistent code formatting
- TypeScript with proper configurations
- EditorConfig for consistent coding styles
- Framework-specific optimizations
- Package manager detection
- Flexible configuration file formats
DevBoot automates all of this with intelligent environment detection and flexible configuration formats. Run one command, and get a perfectly configured project that adapts to your setup.
๐ฏ What's New in v0.2.3
- ๐ง Module Loading Fixed - Resolved dynamic import issues that prevented module installation
- ๐ฏ Corrected Module Names - Fixed references to non-existent modules (
eslint-prettier,git-hooks) - โ Improved Reliability - All core modules now load and install properly
- ๐ Full Internationalization - Complete English language support with user-friendly error messages
- ๐ช Enhanced Type Safety - Replaced
anytypes with proper TypeScript types throughout codebase - ๐งช Better Testing - Fixed failing tests and improved test coverage
Previous Updates (v0.2.1)
- โจ Enhanced User Experience - Beautiful emojis and improved progress indicators for package installation
- ๐ฆ Smart Package Display - Clear categorization of dependencies vs dev dependencies with version info
- ๐จ Better Error Messages - User-friendly error messages with actionable suggestions and helpful icons
- ๐ Improved Installation Flow - Enhanced confirmation prompts and completion messages
- ๐ฌ Interactive Feedback - Real-time installation progress with package names and cheerful completion messages
Previous Updates (v0.2.0)
- ๐ง ESLint v9 Flat Config Support - Full support for both legacy (.eslintrc) and modern (eslint.config) formats
- ๐ Smart Config Format Detection - Automatically chooses the best config file format (.json, .js, .mjs, .cjs, .ts, .yml)
- ๐ค Non-Interactive Mode - Perfect for CI/CD pipelines and automation
- ๐จ Enhanced Prettier Integration - Flexible format support with project environment awareness
- โก Improved Performance - Faster setup with better error handling
๐ Quick Start
# Initialize DevBoot in your project
npx devboot init
# Add specific modules
npx devboot add eslint prettier
npx devboot add typescript editorconfig
# See available modules
npx devboot list
# Check your setup
npx devboot doctor๐ฆ Installation
Global Installation (Recommended)
npm install -g devboot
# or
pnpm add -g devboot
# or
yarn global add devbootRun without installing
npx devboot initโจ Features
๐ง Intelligent Configuration
- Smart Project Detection: Automatically detects Next.js, Vite, React, Node.js, and more
- Environment-Aware: Adapts to TypeScript, ES Modules, package managers
- Config Format Intelligence: Chooses optimal formats (.json, .js, .mjs, .cjs, .ts, .yml)
๐ ๏ธ Modern Tool Support
- ESLint v8 & v9: Full support for both legacy and flat config systems
- Flexible File Formats: Supports all major configuration file extensions
- Framework Optimized: Tailored configs for each framework
- CI/CD Ready: Non-interactive mode for automation
๐จ Developer Experience
- Zero Config: Sensible defaults that just work
- Interactive Setup: Guided configuration with smart recommendations and beautiful visual feedback
- Package Manager Aware: Works seamlessly with npm, pnpm, yarn, and bun
- Error Recovery: Helpful error messages with actionable suggestions and helpful icons
- Progress Tracking: Real-time installation progress with clear package categorization
- User-Friendly Messages: Cheerful completion messages and intuitive prompts
๐งฉ Supported Modules
Core Development Tools
| Module | Description | Config Formats | Status | Features |
|---|---|---|---|---|
| eslint | JavaScript/TypeScript linter | eslint.config.js, eslint.config.ts |
โ Fully Working | ESLint v9 flat config, Framework presets, Auto dependency installation |
| prettier | Code formatter | .prettierrc.json, .prettierignore |
โ Fully Working | Smart defaults, Framework integration, Auto script setup |
| typescript | TypeScript configuration | tsconfig.json |
โ ๏ธ Partial | Framework-specific presets, Path mapping (Interactive setup pending) |
| editorconfig | Consistent coding styles | .editorconfig |
โ ๏ธ Partial | Cross-editor compatibility (Interactive setup pending) |
๐๏ธ Configuration Format Examples
DevBoot intelligently selects the best configuration format based on your project:
TypeScript Projects
# Generates:
eslint.config.ts # ESLint v9 with TypeScript
prettier.config.js # Prettier with JS for flexibility
tsconfig.json # TypeScript configurationES Modules Projects
# Generates:
eslint.config.mjs # ESLint v9 with ES modules
.prettierrc.mjs # Prettier with ES modulesLegacy Projects
# Generates:
.eslintrc.json # ESLint v8 legacy format
.prettierrc.json # Prettier JSON format๐ Commands
devboot init
Initialize DevBoot in your project with an interactive setup.
devboot init # Interactive setup
devboot init -y # Use defaults, no prompts
devboot init --dry-run # Preview without making changesdevboot add <modules...>
Add specific modules to your project.
devboot add eslint # Add ESLint with smart config detection
devboot add prettier # Add Prettier with format selection
devboot add typescript # Add TypeScript configuration
devboot add editorconfig # Add EditorConfig for consistent coding styles
devboot add eslint prettier # Add multiple modules at once
# Options
devboot add eslint --dry-run # Preview without installing
devboot add eslint --verbose # Show detailed output
devboot add eslint --no-install # Skip dependency installationdevboot list
List all available modules and their installation status.
devboot list # Show all modules
devboot list -i # Show only installed modulesdevboot doctor
Check your DevBoot setup and project configuration.
devboot doctor # Run health checks๐ฏ Framework Support
DevBoot automatically detects and optimizes configurations for:
- Next.js - App Router and Pages Router support, optimized ESLint rules
- Vite - React, Vue, and vanilla projects with build optimizations
- React - Create React App and custom setups with JSX support
- Node.js - Library and application projects with appropriate globals
- TypeScript - Full TypeScript integration across all frameworks
๐ง ESLint Configuration Guide
ESLint v9 (Flat Config) - Recommended
For new projects, DevBoot uses ESLint v9's modern flat config system:
// eslint.config.ts (TypeScript projects)
import { defineConfig } from "eslint/config";
import globals from "globals";
import tseslint from "@typescript-eslint/eslint-plugin";
export default defineConfig([
{
files: ["**/*.{js,jsx,ts,tsx}"],
languageOptions: {
globals: {...globals.node, ...globals.es2021},
parser: tsParser,
},
plugins: {
"@typescript-eslint": tseslint
},
rules: {
// Framework-specific rules
}
}
]);ESLint v8 (Legacy) - Compatibility
For existing projects, DevBoot can generate legacy format:
// .eslintrc.json
{
"extends": ["@typescript-eslint/recommended"],
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"env": {
"node": true,
"es2021": true
}
}๐จ Prettier Configuration
DevBoot generates Prettier configs optimized for your project:
// prettier.config.js (TypeScript projects)
export default {
semi: true,
singleQuote: true,
trailingComma: 'es5',
tabWidth: 2,
printWidth: 80,
parser: 'typescript' // Auto-detected for TS projects
};๐ค CI/CD Integration
DevBoot works seamlessly in automated environments:
# GitHub Actions example
- name: Setup development tools
run: |
CI=true npx devboot add eslint prettier
# The CI=true flag enables non-interactive modeโ๏ธ Advanced Usage
Custom Configuration
# Preview configuration before applying
devboot add eslint --dry-run
# Verbose output for debugging
devboot add eslint --verbose
# Force overwrite existing configs
devboot add eslint --forceMultiple Environments
DevBoot adapts to your project structure:
# Monorepo root
devboot init
# Individual packages
cd packages/web && devboot add eslint prettier
cd packages/api && devboot add eslint typescript editorconfig๐ ๏ธ Requirements
- Node.js 22 or higher
- Package Manager: npm, pnpm, or yarn
- Git (recommended for change tracking)
๐ค Contributing
We welcome contributions! Here's how to get started:
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/devboot.git - Install dependencies:
pnpm install - Run tests:
pnpm test - Make your changes
- Submit a pull request
Development Commands
pnpm dev # Start development mode
pnpm test # Run tests
pnpm test:coverage # Run tests with coverage
pnpm build # Build for production
pnpm cli # Test CLI locallyProject Structure
src/
โโโ cli/ # CLI commands and flows
โโโ core/ # Core functionality (installer, analyzer)
โโโ modules/ # Individual modules (eslint, prettier, etc.)
โโโ utils/ # Shared utilities
โโโ types/ # TypeScript type definitions๐ Changelog
v0.2.3 (Latest)
- ๐ง Module Loading Fixed - Resolved dynamic import issues preventing module installation
- ๐ฏ Corrected Module References - Fixed non-existent module names (
eslint-prettierโeslint,prettier) - โ Improved Reliability - All core modules (eslint, prettier, typescript, editorconfig) now work properly
- ๐ Full English Support - Complete internationalization with user-friendly error messages
- ๐ช Enhanced Type Safety - Replaced
anytypes with proper TypeScript types throughout codebase - ๐งช Better Testing - Fixed failing tests and improved overall code quality
- ๐ Production Ready - CLI now fully functional for end-to-end module installation
v0.2.1
- โจ Enhanced user experience with beautiful emojis and progress indicators
- ๐ฆ Smart package display with clear dependency categorization
- ๐จ User-friendly error messages with actionable suggestions
- ๐ Improved installation flow with better confirmation prompts
- ๐ฌ Real-time installation progress and cheerful completion messages
- ๐ ๏ธ Added support for bun package manager
v0.2.0
- โจ ESLint v9 Flat Config support
- ๐ง Intelligent config format detection
- ๐ค Non-interactive mode for CI/CD
- ๐ Support for .js, .mjs, .cjs, .ts, .yml formats
- โก Performance improvements
- ๐ Bug fixes and stability improvements
๐จ Breaking Changes in v0.2.3
If you were using DevBoot v0.2.1 or earlier, please note:
Module Names Changed: Use individual module names instead of combined ones
- โ
devboot add eslint-prettierโ โdevboot add eslint prettier - โ
devboot add git-hooksโ โdevboot add editorconfig(or your preferred git hooks setup)
- โ
Improved Reliability: Modules now install correctly without dynamic import errors
๐ Acknowledgments
- ESLint - Pluggable JavaScript linter
- Prettier - Opinionated code formatter
- TypeScript - JavaScript with syntax for types
- @clack/prompts - Beautiful CLI prompts
๐ License
MIT ยฉ joseph0926
Documentation โข Issues โข Contributing