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.
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.
- π§ 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
any
types with proper TypeScript types throughout codebase - π§ͺ Better Testing - Fixed failing tests and improved test coverage
- β¨ 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
- π§ 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
# 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
npm install -g devboot
# or
pnpm add -g devboot
# or
yarn global add devboot
npx devboot init
- 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)
- 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
- 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
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 |
Framework-specific presets, Path mapping (Interactive setup pending) | |
editorconfig | Consistent coding styles | .editorconfig |
Cross-editor compatibility (Interactive setup pending) |
DevBoot intelligently selects the best configuration format based on your project:
# Generates:
eslint.config.ts # ESLint v9 with TypeScript
prettier.config.js # Prettier with JS for flexibility
tsconfig.json # TypeScript configuration
# Generates:
eslint.config.mjs # ESLint v9 with ES modules
.prettierrc.mjs # Prettier with ES modules
# Generates:
.eslintrc.json # ESLint v8 legacy format
.prettierrc.json # Prettier JSON format
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 changes
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 installation
List all available modules and their installation status.
devboot list # Show all modules
devboot list -i # Show only installed modules
Check your DevBoot setup and project configuration.
devboot doctor # Run health checks
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
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
}
}
]);
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
}
}
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
};
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
# Preview configuration before applying
devboot add eslint --dry-run
# Verbose output for debugging
devboot add eslint --verbose
# Force overwrite existing configs
devboot add eslint --force
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
- Node.js 22 or higher
- Package Manager: npm, pnpm, or yarn
- Git (recommended for change tracking)
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
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 locally
src/
βββ cli/ # CLI commands and flows
βββ core/ # Core functionality (installer, analyzer)
βββ modules/ # Individual modules (eslint, prettier, etc.)
βββ utils/ # Shared utilities
βββ types/ # TypeScript type definitions
- π§ 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
any
types 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
- β¨ 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
- β¨ 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
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
- ESLint - Pluggable JavaScript linter
- Prettier - Opinionated code formatter
- TypeScript - JavaScript with syntax for types
- @clack/prompts - Beautiful CLI prompts
MIT Β© joseph0926
Documentation β’ Issues β’ Contributing