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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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.