Hello World
Hello World Tutorial
Create your first OSSA agent in 10 minutes.
Overview
In this tutorial, you'll:
- Generate a minimal OSSA agent
- Understand the agent structure
- Validate the agent
- Learn what each field means
Step 1: Generate Your First Agent
Use the OSSA CLI to generate a chat agent:
ossa generate chat --name "Hello World Agent" --output hello-world.ossa.yaml
This creates a minimal, valid OSSA agent manifest.
Step 2: Examine the Generated Agent
Open hello-world.ossa.yaml:
apiVersion: ossa/v0.3.x kind: Agent metadata: name: hello-world-agent version: 0.1.0 description: Hello World Agent spec: role: | You are a helpful chat assistant. Answer questions clearly and concisely. llm: provider: openai model: gpt-3.5-turbo temperature: 0.7 tools: []
Step 3: Understand the Structure
apiVersion & kind
apiVersion: ossa/v0.3.x kind: Agent
- apiVersion: OSSA specification version
- kind: Resource type (currently only "Agent")
metadata
metadata: name: hello-world-agent version: 0.1.0 description: Hello World Agent
- name: Agent identifier (DNS-1123 format)
- version: Semantic version
- description: Human-readable description
spec
spec: role: | You are a helpful chat assistant. Answer questions clearly and concisely. llm: provider: openai model: gpt-3.5-turbo temperature: 0.7 tools: []
- role: System prompt/instructions for the agent
- llm: Language model configuration
- tools: Available capabilities (empty for basic chat)
Step 4: Validate Your Agent
Validate the agent against the OSSA schema:
ossa validate hello-world.ossa.yaml
You should see:
✓ Agent manifest is valid OSSA v0.2.x
Step 5: Add a Tool (Optional)
Edit hello-world.ossa.yaml to add a greeting tool:
spec: role: | You are a helpful chat assistant. Answer questions clearly and concisely. llm: provider: openai model: gpt-3.5-turbo temperature: 0.7 tools: - type: function name: greet_user description: Generate a personalized greeting config: handler: greet_handler
Validate again:
ossa validate hello-world.ossa.yaml
Understanding the Complete Example
For a fully annotated example with extensive comments, see:
examples/getting-started/hello-world-complete.ossa.yaml
This example includes:
- Detailed comments for every field
- All optional fields explained
- Best practices
- Usage examples
What You've Learned
✅ OSSA agents are defined in YAML/JSON
✅ Agents have metadata (name, version, description)
✅ Agents have a spec (role, LLM, tools)
✅ OSSA CLI can validate agent correctness
✅ Tools extend agent capabilities
Next Steps
- ✅ Hello World complete
- → First Agent Creation - Build a real agent
- → Examples & Patterns - See more examples
- → Schema Reference - Deep dive into the spec
Common Questions
Q: Can I use a different LLM provider?
A: Yes! OSSA supports OpenAI, Anthropic, Google, Azure, Ollama, and custom providers.
Q: What if I don't have tools?
A: Tools are optional. A basic chat agent can have an empty tools array.
Q: How do I deploy this agent?
A: OSSA is just a standard. Use agent-buildkit or your own deployment system.