Skip to content
/ Sake Public

🍢 A Swift-based utility for managing project commands, inspired by Make.

License

Notifications You must be signed in to change notification settings

kattouf/Sake

Repository files navigation

🍢 Sake

Platforms Swift Versions Latest Release Build Status

Swift-based utility for managing project commands, inspired by Make. Write your project commands in Swift and enjoy type safety, code reuse, and seamless integration.

struct Commands: SakeApp {
    public static var sayHello: Command {
        Command(
            run: { context in
                let name = context.arguments.first ?? "World"
                print("Hello, \(name)!")
            }
        )
    }
}
❯ sake sayHello Stranger
Hello, Stranger!

Important

Sake is under active development, with ongoing updates and improvements. Use with caution in production environments.

πŸ“š Documentation β€’ πŸš€ Getting Started β€’ πŸ’» GitHub

⭐️ Key Features

  • Type-Safe Commands: Write commands in Swift with full IDE support and compile-time checks
  • Command Dependencies: Define commands that depend on other commands
  • Conditional Execution: Skip commands based on custom conditions
  • Command Groups: Organize commands into logical groups
  • Shell Completion: Tab completion for all commands
  • Extensible: Use any Swift package to enhance your commands

πŸ“š Getting Started

  1. Install Sake

    brew install kattouf/sake/sake

    See other installation methods

  2. Initialize a new SakeApp:

    sake init
  3. Run your first command:

    sake hello

πŸ“– Example Use Cases

  • Build Automation: Compile your project with different configurations and run tests
  • Release Management: Automate version updates
  • Code Quality: Run formatters and linters to maintain consistent code style
  • Documentation: Keep your project documentation up to date

🀝 Contributing

We welcome contributions! Whether it's:

  • πŸ› Bug Reports
  • πŸ’‘ Feature Requests
  • πŸ“– Documentation Improvements
  • πŸ”§ Code Contributions

Check out our Contribution Guide to get started.

πŸ“œ License

Sake is released under the MIT License. See the LICENSE file for details.