feat: add initial implementation of the template#4
Conversation
- Created a new agent1 directory with necessary files including README.md and pyproject.toml. - Implemented a minimal example agent (ExampleAgent) that greets users. - Added configuration class (AgentConfig) for customizable greetings. - Developed CLI entry point for the agent to accept user input. - Included unit tests for agent functionality. - Established shared utility scripts for task management and documentation generation. - Integrated code block checking for Markdown files using pyright. - Set up shared tasks for formatting, linting, and building across agents.
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
There was a problem hiding this comment.
Pull request overview
This PR introduces a comprehensive Python agent monorepo template with security-focused tooling and automation. It adds an example agent package (agent1) to demonstrate the structure, along with repository-wide configuration for development, testing, and CI/CD workflows.
- Establishes uv workspace with shared task automation and pre-commit hooks
- Implements example agent with CLI entrypoint and test coverage
- Configures comprehensive linting, type checking, security scanning, and documentation generation
Reviewed changes
Copilot reviewed 20 out of 23 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Root workspace configuration defining uv workspace, dev dependencies, tool settings (ruff, pyright, mypy, bandit, pytest), and poe tasks |
shared_tasks.toml |
Shared poe task definitions for formatting, linting, type checking, and building that agents can include |
.pre-commit-config.yaml |
Pre-commit hook configuration for automated code quality checks on staged files |
.gitignore |
Updated to exclude uv cache and lock files |
README.md |
Comprehensive documentation covering setup, tooling, tasks, and repository structure |
.github/workflows/codeql-analysis.yml |
Expanded CodeQL to scan both GitHub Actions and Python code |
scripts/utils/task_utils.py |
Utilities for discovering workspace projects and extracting poe tasks |
scripts/run_tasks_in_changed_agents.py |
Script to run tasks only in agents with changed files |
scripts/run_tasks_in_agents_if_exists.py |
Script to run tasks across all agents that define them |
scripts/generate_docs.py |
Experimental documentation generation using py2docfx |
scripts/check_md_code_blocks.py |
Validates Python code blocks in markdown files using pyright |
agents/agent1/pyproject.toml |
Agent package configuration with dependencies, scripts, and tool settings |
agents/agent1/README.md |
Agent-specific documentation with quickstart and anatomy |
agents/agent1/LICENSE |
MIT license for the agent package |
agents/agent1/src/agent1/agent.py |
Agent implementation with custom exception handling |
agents/agent1/src/agent1/__main__.py |
CLI entrypoint for the agent |
agents/agent1/src/agent1/__init__.py |
Package exports |
agents/agent1/src/agent.py |
Duplicate agent implementation (incorrect location) |
agents/agent1/src/__init__.py |
Duplicate package exports (incorrect location) |
agents/agent1/tests/test_agent.py |
Unit tests for the example agent |
agents/agent1/tests/__init__.py |
Test package marker |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…cking and documentation generation
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 20 out of 23 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… environment variable handling
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 20 out of 23 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request introduces a new example agent package (
agent1) to the monorepo and adds tooling and documentation improvements to support agent development, testing, and security. The main changes include the addition of a fully configured agent package with code, tests, metadata, and licensing, as well as enhancements to repository-wide developer experience and automation.New agent package:
agent1agents/agent1as a template agent package, including implementation (src/agent1/agent.py), CLI entrypoint (src/agent1/__main__.py), exports (src/agent1/__init__.py,src/agent1/agent.py), and initial tests (tests/test_agent.py). The agent provides a simple greeting functionality and demonstrates error handling. [1] [2] [3] [4] [5] [6] [7]pyproject.toml, including dependencies, scripts, test/lint/type/security tool settings, and build system configuration.LICENSEfile (MIT) for the agent package, supporting proper license distribution for published wheels/sdists.Tooling and automation enhancements
.pre-commit-config.yamlto enable pre-commit hooks for formatting, linting, type checks, security, and config validation, improving local developer hygiene and consistency.README.mdto provide comprehensive documentation on repository structure, tooling, tasks, agent creation, and security automation, making it easier for newcomers to get started and understand the workflow..github/workflows/codeql-analysis.ymlto scan both GitHub Actions and Python code, increasing automated security coverage.- Created a new agent1 directory with necessary files including README.md and pyproject.toml.