Add your description here
Project description
Roly
Deterministic role assembly for coding-agent workflows.
Roly helps build reusable role instructions that are composable, reviewable, and predictable. No hidden merges. No implicit magic. Just a clean CLI flow from role definition to generated output.
Quick Start
Run from source:
uv sync
uv run roly list --no-color
Assemble your first role output:
uv run roly assemble \
--role code-review \
--role project-audit \
--name reviewer-ad-hoc \
--no-color
Prefer config-based assembly:
uv run roly assemble --config examples/roly.config --user-role reviewer-default --no-color
Why Roly
- Deterministic every time: one top-level role plus ordered sub-roles, assembled in a fixed order.
- Scope-aware by default: project, user, and built-in roles with explicit precedence.
- Safe review workflow: proposed sub-role edits go through interactive accept/reject approval.
- Explicit promotion model: project-local edits only become user-level when you promote them.
What You Can Do
List available roles:
uv run roly list --no-color
Compare project-local vs user-level role definitions:
uv run roly diff --role code-review --no-color
Promote a project-local role to user-level:
uv run roly promote --role code-review --yes --no-color
Run interactive review + apply flow:
uv run roly review --target-sub-role code-review --target-sub-role project-audit --changes-file changes.toml --no-color
Create/setup review skill assets:
uv run roly setup --agent none --yes --no-color
How It Works
- Define roles as markdown files with TOML front matter.
- Select ordered role slugs; dependency top-level role is auto-inserted for each sub-role.
- Assemble deterministic output artifacts from role content + output definitions.
- Keep experimental edits project-local, then promote only when ready.
Example Use Cases
- Standardize engineering review prompts across repositories.
- Layer domain overlays (security, compliance, architecture) without copy-paste.
- Run repeatable role updates with human approval in the loop.
- Keep team prompts versioned, diffable, and shareable.
Docs For Contributors
Development setup, lint/test commands, and contributor workflows are in README_DEV.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file roly-0.1.0.tar.gz.
File metadata
- Download URL: roly-0.1.0.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7754d3d05a3e10cc53c707f31de5a3408c275bc4eca55ac46d97da4a85285404
|
|
| MD5 |
0979bd2a83c28a1ffa64811eb643753f
|
|
| BLAKE2b-256 |
bb5944f3c3938576e5d9ea0ca1d3112607ce28e462b8587418152757df6b5c36
|
Provenance
The following attestation bundles were made for roly-0.1.0.tar.gz:
Publisher:
release.yml on Mullans/Roly
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
roly-0.1.0.tar.gz -
Subject digest:
7754d3d05a3e10cc53c707f31de5a3408c275bc4eca55ac46d97da4a85285404 - Sigstore transparency entry: 942939372
- Sigstore integration time:
-
Permalink:
Mullans/Roly@edc708e5969c7877effdeecd8f5b69b06f13eafc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mullans
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@edc708e5969c7877effdeecd8f5b69b06f13eafc -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file roly-0.1.0-py3-none-any.whl.
File metadata
- Download URL: roly-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61479a53466fc20437beee1a576868aaaafb170395675c024009ea340231bc22
|
|
| MD5 |
aa0a66f5c05941d6523ce461baf63b40
|
|
| BLAKE2b-256 |
f4ecb9c1925b6c7b4561d33c31367ec97f5daa5f3d992c609bf0bd74546e9650
|
Provenance
The following attestation bundles were made for roly-0.1.0-py3-none-any.whl:
Publisher:
release.yml on Mullans/Roly
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
roly-0.1.0-py3-none-any.whl -
Subject digest:
61479a53466fc20437beee1a576868aaaafb170395675c024009ea340231bc22 - Sigstore transparency entry: 942939424
- Sigstore integration time:
-
Permalink:
Mullans/Roly@edc708e5969c7877effdeecd8f5b69b06f13eafc -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mullans
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@edc708e5969c7877effdeecd8f5b69b06f13eafc -
Trigger Event:
workflow_dispatch
-
Statement type: