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
- 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
-
Install Sake
brew install kattouf/sake/sake
-
Initialize a new SakeApp:
sake init
-
Run your first command:
sake hello
- 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
We welcome contributions! Whether it's:
- ๐ Bug Reports
- ๐ก Feature Requests
- ๐ Documentation Improvements
- ๐ง Code Contributions
Check out our Contribution Guide to get started.
Sake is released under the MIT License. See the LICENSE file for details.