Command-line tool for the Agent Packaging Standard (APS)
Project description
cli/README.md
# APS CLI
**Command-line tool for the Agent Packaging Standard (APS)**
[]()
[]()
[](https://github.com/vedahegde60/agent-packaging-standard/blob/main/LICENSE)
The APS CLI enables developers to build, validate, sign, publish, and run portable AI agents following the [Agent Packaging Standard](https://agentpackaging.org).
---
## 🚀 Installation
### From PyPI (Recommended)
```bash
pip install apstool
For optional features (signing, RAG examples):
pip install apstool[dev]
From Source (For Development)
git clone https://github.com/vedahegde60/agent-packaging-standard.git
cd agent-packaging-standard/cli
pip install -e .
📖 Quick Start
Initialize a New Agent
Create a new agent from the APS template:
aps init my-agent
cd my-agent
This scaffolds a complete agent structure with:
aps/agent.yaml— Manifest with metadata, runtime, dependenciessrc/main.py— Example Python entrypointrequirements.txt— Python dependencies
Validate Your Agent
Check that your manifest is correctly structured:
aps validate my-agent
Run Your Agent
Execute the agent locally with JSON input/output:
echo '{"text": "hello world"}' | aps run my-agent
Or use the --input flag:
aps run my-agent --input '{"text": "hello world"}'
Build a Package
Create a distributable .aps.tar.gz package:
aps build my-agent
This produces my-agent.aps.tar.gz containing the manifest, code, and metadata.
Sign Your Package
Sign the package for verification and provenance:
aps sign my-agent.aps.tar.gz --key path/to/cosign.key
Verify a Package
Verify the signature and integrity:
aps verify my-agent.aps.tar.gz
Publish to a Registry
Push your agent to a registry:
aps publish my-agent --registry registry://local
Pull from a Registry
Download an agent from a registry:
aps pull dev.echo --registry registry://local
🧰 Command Reference
| Command | Description |
|---|---|
aps init <path> |
Scaffold a new agent from template |
aps validate <path> |
Validate agent manifest structure |
aps run <path> |
Execute agent locally (stdin/stdout JSON) |
aps build <path> |
Package agent into .aps.tar.gz |
aps sign <package> |
Sign package with Cosign |
aps verify <package> |
Verify package signature |
aps publish <path> |
Push agent to registry |
aps pull <name> |
Pull agent from registry |
aps inspect <package> |
Show package metadata |
For full details, see the CLI Reference.
🧪 Running Tests
cd cli
pytest -q
All tests run in isolated environments to avoid contaminating user data.
📚 Learn More
- Documentation: agentpackaging.org
- Specification: APS v0.1
- Examples: examples/
- Contributing: CONTRIBUTING.md
🛠️ Development
Setup
cd cli
pip install -e .
Run Tests
pytest -q
Build Distribution
python -m build
📄 License
Apache License 2.0 — See LICENSE for details.
🤝 Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Note: The
aps runcommand is a minimal reference implementation for local testing.
For production workloads, use a full-featured runtime that supports APS agents.
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 apstool-0.1.9.tar.gz.
File metadata
- Download URL: apstool-0.1.9.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5a167a0681d00a72af6595510711c13873ff8c8db084e5b431d8c774e44748d
|
|
| MD5 |
a2da18938302b11bfeb9e688f3201eac
|
|
| BLAKE2b-256 |
90e27ca647fa94fe472cac7524e2c072e9e36e7e4757d2646eae445c2cb79733
|
File details
Details for the file apstool-0.1.9-py3-none-any.whl.
File metadata
- Download URL: apstool-0.1.9-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
131c4aa80075aee0538bbc9fcb3844f122eee434fcfe9d499b3c4f34d62e7cfc
|
|
| MD5 |
f6555ea4a0ad7cb05d2e04b920665ade
|
|
| BLAKE2b-256 |
674f1a6bac94468b9eda136e0f4b9ba47d047126973f11e66c24e57fefdb1afd
|