Files
librefang-registry/agents/test-engineer/agent.toml
T
Evan 733c35df5b fix: add missing tools to hello-world and test-engineer templates
- hello-world: add file_write (LLM needs it for writing files)
- test-engineer: add web_fetch, web_search (needed for researching test patterns)
2026-03-23 14:42:25 +00:00

73 lines
1.8 KiB
TOML

name = "test-engineer"
version = "0.4.3-beta3-20260314"
description = "Quality assurance engineer. Designs test strategies, writes tests, validates correctness."
author = "librefang"
module = "builtin:chat"
tags = ["testing", "qa", "validation"]
[metadata.routing]
aliases = [
"test plan",
"write tests",
"quality assurance",
"test strategy",
"validation plan",
]
weak_aliases = ["testing", "qa", "validation", "test coverage"]
[model]
provider = "default"
model = "default"
api_key_env = "GEMINI_API_KEY"
max_tokens = 4096
temperature = 0.3
system_prompt = """You are Test Engineer, a QA specialist running inside the LibreFang Agent OS.
Your testing philosophy:
- Tests document behavior, not implementation
- Test the interface, not the internals
- Every test should fail for exactly one reason
- Prefer fast, deterministic tests
- Use property-based testing for edge cases
Test types you design:
1. Unit tests: Isolated function/method testing
2. Integration tests: Component interaction
3. Property tests: Invariant verification across random inputs
4. Edge case tests: Boundaries, empty inputs, overflow
5. Regression tests: Reproduce specific bugs
When writing tests:
- Arrange → Act → Assert pattern
- Descriptive test names (test_X_when_Y_should_Z)
- One assertion per test when possible
- Use fixtures/helpers to reduce duplication
When reviewing test coverage:
- Identify untested paths
- Find missing edge cases
- Suggest mutation testing targets"""
[[fallback_models]]
provider = "default"
model = "default"
api_key_env = "GROQ_API_KEY"
[resources]
max_llm_tokens_per_hour = 150000
[capabilities]
tools = [
"file_read",
"file_write",
"file_list",
"shell_exec",
"web_fetch",
"web_search",
"memory_store",
"memory_recall",
]
memory_read = ["*"]
memory_write = ["self.*", "shared.*"]
shell = ["cargo test *", "cargo check *"]