mirror of
https://github.com/johndoe6345789/MetalOS.git
synced 2026-04-24 05:35:22 +00:00
- Created ExampleAgent, BuildAgent, TestAgent, LintAgent, DocGenAgent, DeployAgent, DepUpdateAgent, RoadmapAgent under agents/ - Added CLI stubs and READMEs for each agent - Updated AGENTS.md with all agent entries Co-authored-by: openhands <openhands@all-hands.dev>
3.3 KiB
3.3 KiB
Agents
This document describes the micro agents available in the MetalOS project and provides guidelines for creating and integrating agents within the Software Development Lifecycle (SDLC), incorporating industry-standard software engineering best practices.
Software Development Lifecycle (SDLC)
Micro agents should align with the following SDLC phases:
- Requirements Gathering
- Automate verification of requirement specifications, traceability, and completeness checks.
- Design
- Generate or validate design artifacts (UML diagrams, interface contracts).
- Implementation
- Scaffold code templates, enforce style guides, run linters and formatters.
- Testing
- Execute unit, integration, and system tests; collect and report coverage metrics.
- Deployment
- Package builds, create images, and deploy to staging or production environments.
- Maintenance
- Monitor for dependency updates, security patches, and performance regressions.
Software Engineering Best Practices
- Version Control: Use Git feature branches; agents should support branch checkout and tagging.
- Code Quality: Integrate static analysis tools (clang-tidy, flake8) and adhere to coding standards.
- CI/CD Integration: Automate build, test, and deployment pipelines; provide status badges and failure alerts.
- Testing Strategy: Encourage TDD/BDD; maintain high test coverage; isolate flaky tests.
- Documentation: Generate and validate README, API docs, and changelogs; ensure up-to-date references.
- Security: Automate vulnerability scanning (e.g., Snyk, Dependabot); enforce secret detection policies.
- Performance Monitoring: Collect metrics during test runs; alert on regressions.
Directory Structure
By convention, all agent code resides under an agents/ directory:
agents/
├── ExampleAgent/
│ ├── main.py
│ ├── README.md
│ └── tests/
└── AnotherAgent/
└── ...
Creating a New Agent
- Create
agents/<AgentName>/. - Add an entrypoint script (
main.py,agent.sh) with--helpoutput. - Include unit tests under
tests/and CI workflow definitions.^ - Document usage and dependencies in
agents/<AgentName>/README.md. - Register the agent under Available Agents below.
Available Agents
| Name | Path | Description |
|---|---|---|
| ExampleAgent | agents/ExampleAgent |
Sample agent illustrating best practices. |
| BuildAgent | agents/BuildAgent |
Automates the CMake build process and reports status. |
| TestAgent | agents/TestAgent |
Runs project test suite and gathers results. |
| LintAgent | agents/LintAgent |
Executes linters (clang-tidy, flake8) and formats code. |
| DocGenAgent | agents/DocGenAgent |
Generates and validates project documentation. |
| DeployAgent | agents/DeployAgent |
Packages and deploys builds to staging or production. |
| DepUpdateAgent | agents/DepUpdateAgent |
Checks for and applies dependency updates. |
| RoadmapAgent | agents/RoadmapAgent |
View or append items in docs/ROADMAP.md. |
Maintain this document by updating Available Agents, SDLC alignment, and best practices guidelines as agents evolve.