bunfun
v0.0.5
Published
<div align="center">
Readme
🎉 bunfun
Interactive Bun project creator & converter
🚀 What is bunfun?
bunfun is a powerful CLI tool that makes working with Bun projects effortless. It provides an interactive wizard for creating new Bun projects and converting existing projects to use Bun as your JavaScript runtime.
✨ Features
- 🎯 Interactive Project Creation - Guided wizard for setting up new Bun projects
- 🔄 Project Conversion - Automatically detect and convert existing projects to Bun
- 📦 Package Manager Detection - Intelligently detects npm, yarn, or pnpm
- 🎨 Beautiful CLI Interface - Clean, emoji-rich output for better user experience
- ⚡ Fast & Lightweight - Built with Bun for maximum performance
🛠️ Installation
Quick Start
# Clone and install
git clone <your-repo-url>
cd bunfun
bun install
# Link globally
bun linkUsage
# Create a new Bun project
bunfun init
# Convert existing project to Bun
bunfun convert
# Show help
bunfun --help📖 Usage Examples
Creating a New Project
$ bunfun init
🎉 bunfun - Interactive Bun project creator & converter v0.1.0
==================================================
🚀 Creating a new Bun project...
🎉 Welcome to bunfun!
🚀 Let's create a new Bun project.
Project name: my-awesome-app
Use TypeScript? (y/N): y
Creating my-awesome-app with TypeScript: Yes
✨ Project created successfully!Converting Existing Project
$ bunfun convert
🎉 bunfun - Interactive Bun project creator & converter v0.1.0
==================================================
🔄 Converting project to Bun...
🔄 bunfun converter
This will convert the current project to Bun.
📦 Detected package manager: npm
✨ Conversion completed!🏗️ Project Structure
bunfun/
│
├─ bin/
│ └─ bunfun.ts # CLI entry point
│
├─ src/
│ ├─ cli/
│ │ └─ index.ts # Command router
│ ├─ tui/
│ │ ├─ create-wizard.ts # Project creation wizard
│ │ └─ convert-wizard.ts # Project conversion wizard
│ └─ utils/
│ ├─ detect.ts # Package manager detection
│ ├─ pkg.ts # Package.json utilities
│ └─ fs.ts # File system utilities
│
├─ package.json
├─ bun.lock
└─ README.md🔧 Commands
| Command | Description |
| ---------------- | ----------------------------------------------- |
| bunfun init | Create a new Bun project with interactive setup |
| bunfun convert | Convert existing project to use Bun |
| bunfun --help | Show help information |
🎯 Development
Running from Source
# Install dependencies
bun install
# Link locally
bun link
# Run directly
bun bin/bunfun.ts <command>Testing Commands
# Test help
bun bin/bunfun.ts --help
# Test project creation
bun bin/bunfun.ts init
# Test project conversion
bun bin/bunfun.ts convert🔮 Roadmap
- [ ] Enhanced TUI Interface - Rich terminal UI with menus and forms
- [ ] Template System - Pre-built project templates
- [ ] Plugin Architecture - Extensible plugin system
- [ ] Advanced Conversion - Automated dependency migration
- [ ] Script Conversion - npm/yarn script conversion to Bun
- [ ] Import/Require Converter - Automatic import statement updates
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
Made with ❤️ using Bun
