Open Agent Spec CLI for bootstrapping AI agent projects
Project description
_______ _______ _______ ______ _______ _______ _______ ______ _______ _______ _______ _______ _______
| _ | _ | _ | _ \ | _ | _ | _ | _ \| | | _ | _ | _ | _ |
|. | |. 1 |. 1___|. | | |. 1 |. |___|. 1___|. | |.| | | | 1___|. 1 |. 1___|. 1___|
|. | |. ____|. __)_|. | | |. _ |. | |. __)_|. | `-|. |-' |____ |. ____|. __)_|. |___
|: 1 |: | |: 1 |: | | |: | |: 1 |: 1 |: | | |: | |: 1 |: | |: 1 |: 1 |
|::.. . |::.| |::.. . |::.| | |::.|:. |::.. . |::.. . |::.| | |::.| |::.. . |::.| |::.. . |::.. . |
`-------`---' `-------`--- ---' `--- ---`-------`-------`--- ---' `---' `-------`---' `-------`-------'
Open Agent Spec (OAS) CLI
A command-line tool for generating agent projects based on Open Agent Spec YAML files.
Installation
pip install open-agent-spec
Usage
Basic Usage
# Show help
oas --help
# Initialize a new agent project
oas init --spec path/to/spec.yaml --output path/to/output
# Preview what would be created without writing files
oas init --spec path/to/spec.yaml --output path/to/output --dry-run
# Create a base working agent with minimal spec
oas init --template minimal --output path/to/output
Enable Verbose Logging
oas init --spec path/to/spec.yaml --output path/to/output --verbose
Spec File Format
The spec file should be in YAML format with the following structure:
open_agent_spec: 1.0.4
agent:
name: hello-world-agent
description: A simple agent that responds with a greeting
role: chat
intelligence:
type: llm
engine: openai
model: gpt-4
endpoint: https://api.openai.com/v1
config:
temperature: 0.7
max_tokens: 150
tasks:
greet:
description: Say hello to a person by name
timeout: 30
input:
type: object
properties:
name:
type: string
description: The name of the person to greet
minLength: 1
maxLength: 100
required: [name]
output:
type: object
properties:
response:
type: string
description: The greeting response
minLength: 1
required: [response]
prompts:
system: >
You are a friendly agent that greets people by name.
Respond with: "Hello <name>!"
user: "{{name}}"
behavioural_contract:
version: "0.1.2"
description: "Simple contract requiring a greeting response"
role: "Friendly agent"
behavioural_flags:
conservatism: "moderate"
verbosity: "compact"
response_contract:
output_format:
required_fields: [response]
interface:
cli:
enabled: true
arguments:
- name: name
type: string
required: true
Generated Project Structure
output/
├── agent.py # Main agent implementation
├── prompts/ # Prompt templates
│ └── analyst_prompt.jinja2
├── requirements.txt # Project dependencies
└── .env.example # Environment variables template
Development
Setup
# Clone the repository
git clone https://github.com/aswhitehouse/open-agent-spec.git
cd oas-cli
# Install development dependencies
pip install -e ".[dev]"
Running Tests
pytest
Building
python -m build
Pacakge Installation
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3), which ensures that improvements and deployments of this codebase stay open and benefit the wider community.
If you're a business or enterprise and would like to:
Use this tool in a proprietary or internal-only setting
Avoid open-sourcing your modifications or integrations
Receive custom implementation support or consulting
Discuss a commercial license or enterprise partnership
➡️ Please feel free to reach out: 📧 andrewswhitehouse@gmail.com
Myself and my collaborators would be happy to support your journey with AI agents and ensure responsible, scalable use of this tooling in your stack.
Overview
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 open_agent_spec-1.0.6.tar.gz.
File metadata
- Download URL: open_agent_spec-1.0.6.tar.gz
- Upload date:
- Size: 37.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfd5e482825f68cfad5d61e18162b8654d8d2e19d0d5210199676c0b059dbd06
|
|
| MD5 |
b9beb1052a26e55e07305a36b1ea98c2
|
|
| BLAKE2b-256 |
a074168ca25e53bcaddbb39779be4d00fab446665597af27ee461aa477310cb0
|
File details
Details for the file open_agent_spec-1.0.6-py3-none-any.whl.
File metadata
- Download URL: open_agent_spec-1.0.6-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a1d15fb60b89748f5c632714d4eb8827ea722873cac99ae96ac203c6734a7ff
|
|
| MD5 |
2e2ef023e0e31ec50e9dc42c8d36c419
|
|
| BLAKE2b-256 |
91fc9a88dfe4624c07dc0bcb14bbf382f8799fcc79a7290975afd0b15e1909ea
|