Install from crates.io (recommended):
cargo install polykitOr build from source:
git clone https://github.com/jonathanmagambo/polykit.git
cd polykit
cargo install --path .Verify installation:
polykit scan- Create a
polykit.tomlin each package:
name = "my-package"
language = "rust"
public = true
[deps]
internal = ["other-package"]
[tasks]
build = "cargo build --release"
test = "cargo test"- Run commands:
polykit scan # Discover packages
polykit build # Build all packages
polykit test # Run tests
polykit graph # Show dependency orderpolykit scan- Discover packagespolykit graph- Show dependency orderpolykit build [packages...]- Build packagespolykit test [packages...]- Run testspolykit affected --git- Find changed packagespolykit release <package> --bump <major|minor|patch>- Bump versionspolykit watch <task>- Watch and rebuildpolykit why <package>- Show dependenciespolykit validate- Validate configurationpolykit list- List all tasks
- JavaScript/TypeScript (
js,ts) - Python (
python) - Go (
go) - Rust (
rust)
Each package needs a polykit.toml:
name = "package-name"
language = "rust"
public = true
[deps]
internal = ["dep1", "dep2"]
[tasks]
build = "cargo build"
test = "cargo test"
test.depends_on = ["build"]Optional workspace config at repo root:
[workspace]
cache_dir = ".polykit/cache"
default_parallel = 4Important
The project is in active development and being crafted meticulously. If you plan to contribute to the project, now is the time to provide a helping hand for the hardworking team. Polykit is written in Rust and orchestrates monorepos across multiple languages (JavaScript, TypeScript, Python, Go, and Rust). We're continuously improving language adapter support and adding new features.
In addition, the project uses the Apache-2.0 License, which allows you to:
- View the source, learn from it, and use it freely
- Modify and distribute the software
- Use it in commercial and private projects
- The only requirement is to include the license and copyright notice
When it comes to contributing and forking, Polykit is free and open source to use, released under the Apache-2.0 License. Contributions are welcome with wide open arms as Polykit is looking to foster a community. Proceed to take a look at CONTRIBUTING.md for more information on how to get started as well as the codebase to learn from it. We sincerely and deeply are grateful and thankful for your efforts.
