CLI for the StrawHub agent skill and role registry
Project description
StrawHub CLI
Command-line client for StrawHub, the public registry for StrawPot agents.
Discover, install, publish, and manage reusable skills, roles, agents, and memories — with recursive dependency resolution.
Installation
pip install strawhub
Quick Start
# Search for skills, roles, agents, and memories
strawhub search "code review"
# Install a skill (dependencies resolved automatically)
strawhub install skill code-review
# Install a role
strawhub install role implementer
# Save dependencies to strawpot.toml
strawhub install skill code-review --save
# Install all dependencies from strawpot.toml
strawhub install
# Authenticate for publishing
strawhub login
Project File (strawpot.toml)
Declare your project's skill and role dependencies in a strawpot.toml file at the project root:
[skills]
git-workflow = "*"
code-review = "==2.1.0"
[roles]
implementer = "*"
Run strawhub install to install everything. Teammates can clone the repo and run the same command to get an identical setup.
Version constraints: "*" (latest), "==X.Y.Z" (exact).
See the project file documentation for full details.
Commands
Package Management
| Command | Description |
|---|---|
install |
Install all dependencies from strawpot.toml |
install skill|role|agent|memory <slug> |
Install a specific package |
install skill|role|agent|memory <slug> --save |
Install and save to strawpot.toml (*) |
install skill|role|agent|memory <slug> --save-exact |
Install and save to strawpot.toml (==X.Y.Z) |
install skill|role|agent|memory <slug> --version X.Y.Z |
Install a specific version |
uninstall skill|role|agent|memory <slug> |
Uninstall a package |
uninstall skill|role|agent|memory <slug> --save |
Uninstall and remove from strawpot.toml |
update skill|role|agent|memory <slug> |
Update to the latest version |
update --all |
Update all installed packages |
update --all --save |
Update all and save new versions to strawpot.toml |
init |
Create strawpot.toml from currently installed packages |
install-tools |
Install system tools declared by installed packages |
Discovery
| Command | Description |
|---|---|
search <query> |
Search for skills, roles, agents, and memories |
info skill|role|agent|memory <slug> |
Show detail for a skill, role, agent, or memory |
list |
List all available skills, roles, agents, and memories |
star skill|role|agent|memory <slug> |
Star a skill, role, agent, or memory |
unstar skill|role|agent|memory <slug> |
Unstar a skill, role, agent, or memory |
Publishing
| Command | Description |
|---|---|
publish skill|role|agent|memory <path> |
Publish to the registry |
Runtime
| Command | Description |
|---|---|
resolve skill|role <slug> |
Resolve and print package paths (JSON) |
Authentication
| Command | Description |
|---|---|
login |
Authenticate with StrawHub |
logout |
Remove stored credentials |
whoami |
Show current user info |
Most commands support --json for machine-readable output. See the full CLI reference for detailed documentation of every command and option.
Install Options
The install command supports several flags for controlling behavior:
| Option | Description |
|---|---|
--global |
Install to global directory (~/.strawpot) |
--version X.Y.Z |
Install a specific version |
--force |
Force replace existing installation (requires --version) |
--update |
Update to latest if already installed |
--recursive |
Also update dependencies (requires --update) |
--save |
Save to strawpot.toml with * |
--save-exact |
Save to strawpot.toml with ==X.Y.Z |
--skip-tools |
Skip system tool installation |
--yes, -y |
Auto-confirm tool install prompts |
Configuration
| Variable | Description | Default |
|---|---|---|
STRAWHUB_API_URL |
Override the API endpoint | https://strawhub.dev |
STRAWHUB_TOKEN |
Override the auth token | (from strawhub login) |
STRAWPOT_HOME |
Override the global install directory | ~/.strawpot |
Settings can also be persisted in ~/.config/strawhub/config.json.
Links
- Registry: https://strawhub.dev
- Source: https://github.com/strawpot/strawhub
- Discord: https://discord.gg/2BRsCRUrKb
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 strawhub-0.1.33.tar.gz.
File metadata
- Download URL: strawhub-0.1.33.tar.gz
- Upload date:
- Size: 45.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deaf545f6622f972c5d2b89f02f242e95752816e7c2fbf6fcc77b71cb161e1e8
|
|
| MD5 |
26c39e969c2b69270ac3d5d4e932be83
|
|
| BLAKE2b-256 |
4fd67ee062ed18392b4163cbd843011caf5c8956a9d287465a32ced6c6486bbf
|
Provenance
The following attestation bundles were made for strawhub-0.1.33.tar.gz:
Publisher:
publish-cli.yml on strawpot/strawhub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strawhub-0.1.33.tar.gz -
Subject digest:
deaf545f6622f972c5d2b89f02f242e95752816e7c2fbf6fcc77b71cb161e1e8 - Sigstore transparency entry: 1099774728
- Sigstore integration time:
-
Permalink:
strawpot/strawhub@af26a2e7c1107e12a31c81e79fd70889407ba1ac -
Branch / Tag:
refs/heads/main - Owner: https://github.com/strawpot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@af26a2e7c1107e12a31c81e79fd70889407ba1ac -
Trigger Event:
push
-
Statement type:
File details
Details for the file strawhub-0.1.33-py3-none-any.whl.
File metadata
- Download URL: strawhub-0.1.33-py3-none-any.whl
- Upload date:
- Size: 41.2 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 |
926eca6399db7e0613cd1a330c4e12a661b60e5fbeeabd4188b2ef7a75d3496a
|
|
| MD5 |
e3d3ced4837fa376597cc18cba96cc35
|
|
| BLAKE2b-256 |
1edd9390d9cb6b1ebfc9ca8a7b13f57805376cb8350f08941ce5cdd1cfd0fdc6
|
Provenance
The following attestation bundles were made for strawhub-0.1.33-py3-none-any.whl:
Publisher:
publish-cli.yml on strawpot/strawhub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
strawhub-0.1.33-py3-none-any.whl -
Subject digest:
926eca6399db7e0613cd1a330c4e12a661b60e5fbeeabd4188b2ef7a75d3496a - Sigstore transparency entry: 1099774770
- Sigstore integration time:
-
Permalink:
strawpot/strawhub@af26a2e7c1107e12a31c81e79fd70889407ba1ac -
Branch / Tag:
refs/heads/main - Owner: https://github.com/strawpot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@af26a2e7c1107e12a31c81e79fd70889407ba1ac -
Trigger Event:
push
-
Statement type: