Skip to content

Jitpomi/ferrisup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FerrisUp - A powerful Rust project bootstrapping tool

FerrisUp: Rust Project Bootstrapping Tool

Crates.io License: MIT Rust

Start Anywhere, Scale Anywhere

FerrisUp is a versatile Rust project bootstrapping tool that enables developers to create, transform, and scale Rust projects with ease. Unlike other project generators, FerrisUp supports the entire project lifecycle from simple beginnings to complex architectures.

🚀 Quick Links

🌟 Key Features

  • Project Transformation - Convert single-crate projects to workspaces as they grow
  • Component-Based Architecture - Specialized components for different use cases
  • Domain-Specific Components - Optimized components for web, data science, embedded, and more
  • Smart Dependency Management - Interactive dependency handling with feature selection
  • Framework Support - Direct support for popular Rust frameworks per component type.
  • Cloud Provider Integration - Optimized configurations for major cloud providers

🔍 What Makes FerrisUp Different?

Unlike traditional template generators like cargo-generate, FerrisUp focuses on project evolution. Start with a simple project and transform it as your needs grow, without having to recreate your project structure from scratch.

📦 Workspace Structure

This repository is organized as a Rust workspace with the following components:

  • ferrisup - The main CLI tool and all its functionality

💻 Installation

# Install from crates.io
cargo install ferrisup

# Or install from source
git clone https://github.com/Jitpomi/ferrisup.git
cd ferrisup
cargo install --path ./ferrisup

🚀 Quick Start

# Create a new project (interactive mode)
ferrisup new

# Create a specific type of project
ferrisup new my_app --component-type server --framework axum

# Transform an existing project
ferrisup transform

For complete documentation and examples, see the detailed README.

🧪 Development

To build all components in the workspace:

cargo build

To run tests for all components:

cargo test

To add a new component to the workspace:

ferrisup transform

💖 Support FerrisUp

If FerrisUp helps you build amazing Rust projects, consider supporting its development:

GitHub Sponsors

Your support helps:

  • 🚀 Accelerate Development - More time for new features and improvements
  • 🐛 Better Bug Fixes - Faster response to issues and community needs
  • 📚 Enhanced Documentation - Comprehensive guides and tutorials
  • 🌟 New Templates - Support for emerging Rust frameworks and tools

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ by Jitpomi

About

Rust Workspace Bootstrapper

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published