docs: add agent guide with coding standards and contribution workflow (#2521)

This commit is contained in:
Prakash Maheshwaran 2025-05-29 17:07:42 -04:00 committed by GitHub
parent 8637ce834c
commit 9174791c1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

92
AGENTS.md Normal file
View file

@ -0,0 +1,92 @@
# Skyvern Agent Guide
This AGENTS.md file provides comprehensive guidance for AI agents working with the Skyvern codebase. Follow these guidelines to ensure consistency and quality in all contributions.
## Project Structure for Agent Navigation
- `/skyvern`: Main Python package
- `/cli`: Command-line interface components
- `/client`: Client implementations and integrations
- `/forge`: Core automation logic and workflows
- `/library`: Shared utilities and helpers
- `/schemas`: Data models and validation schemas
- `/services`: Business logic and service layers
- `/utils`: Common utility functions
- `/webeye`: Web interaction and browser automation
- `/skyvern-frontend`: Frontend application
- `/integrations`: Third-party service integrations
- `/alembic`: Database migrations
- `/scripts`: Utility and deployment scripts
## Coding Conventions for Agents
### Python Standards
- Use Python 3.11+ features and type hints
- Follow PEP 8 with a line length of 100 characters
- Use absolute imports for all modules
- Document all public functions and classes with Google-style docstrings
- Use `snake_case` for variables and functions, `PascalCase` for classes
### Asynchronous Programming
- Prefer async/await over callbacks
- Use `asyncio` for concurrency
- Always handle exceptions in async code
- Use context managers for resource cleanup
### Error Handling
- Use specific exception classes
- Include meaningful error messages
- Log errors with appropriate severity levels
- Never expose sensitive information in error messages
## Pull Request Process
1. **Branch Naming**
- `feature/descriptive-name` for new features
- `fix/issue-description` for bug fixes
- `chore/task-description` for maintenance tasks
2. **PR Guidelines**
- Reference related issues with `Fixes #123` or `Closes #123`
- Include a clear description of changes
- Update relevant documentation
- Ensure all tests pass
- Get at least one approval before merging
3. **Commit Message Format**
```
[Component] Action: Brief description
More detailed explanation if needed.
- Bullet points for additional context
- Reference issues with #123
```
## Code Quality Checks
Before submitting code, run:
```bash
pre-commit run --all-files
```
## Performance Considerations
- Optimize database queries
- Use appropriate data structures
- Implement caching where beneficial
- Monitor memory usage
## Security Best Practices
- Never commit secrets or credentials
- Validate all inputs
- Use environment variables for configuration
- Follow the principle of least privilege
- Keep dependencies updated
## Getting Help
- Check existing issues before opening new ones
- Reference relevant documentation
- Provide reproduction steps for bugs
- Be specific about the problem and expected behavior