mirror of
https://github.com/temporal-community/temporal-ai-agent.git
synced 2026-03-15 14:08:08 +01:00
Model Context Protocol (MCP) support with new use case (#42)
* initial mcp * food ordering with mcp * prompt eng * splitting out goals and updating docs * a diff so I can get tests from codex * a diff so I can get tests from codex * oops, missing files * tests, file formatting * readme and setup updates * setup.md link fixes * readme change * readme change * readme change * stripe food setup script * single agent mode default * prompt engineering for better multi agent performance * performance should be greatly improved * Update goals/finance.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update activities/tool_activities.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * co-pilot PR suggested this change, and now fixed it * stronger wording around json format response * formatting * moved docs to dir * moved image assets under docs * cleanup env example, stripe guidance * cleanup --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
1811e4cf59
commit
5d55a9fe80
106
docs/contributing.md
Normal file
106
docs/contributing.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Contributing to the Temporal AI Agent Project
|
||||
|
||||
This document provides guidelines for contributing to `temporal-ai-agent`. All setup and installation instructions can be found in [setup.md](./setup.md).
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Code Style & Formatting
|
||||
We use `black` for code formatting and `isort` for import sorting to maintain a consistent codebase.
|
||||
- **Format code:**
|
||||
```bash
|
||||
poetry run poe format
|
||||
```
|
||||
Or manually:
|
||||
```bash
|
||||
poetry run black .
|
||||
poetry run isort .
|
||||
```
|
||||
Please format your code before committing.
|
||||
|
||||
### Linting & Type Checking
|
||||
We use `mypy` for static type checking and other linters configured via `poe the poet`.
|
||||
- **Run linters and type checks:**
|
||||
```bash
|
||||
poetry run poe lint
|
||||
```
|
||||
Or manually for type checking:
|
||||
```bash
|
||||
poetry run mypy --check-untyped-defs --namespace-packages .
|
||||
```
|
||||
Ensure all linting and type checks pass before submitting a pull request.
|
||||
|
||||
## Testing
|
||||
Comprehensive testing is crucial for this project. We use `pytest` and Temporal's testing framework.
|
||||
- **Install test dependencies** (if not already done with `poetry install --with dev`):
|
||||
```bash
|
||||
poetry install --with dev
|
||||
```
|
||||
- **Run all tests:**
|
||||
```bash
|
||||
poetry run pytest
|
||||
```
|
||||
- **Run tests with time-skipping (recommended for faster execution, especially in CI):**
|
||||
```bash
|
||||
poetry run pytest --workflow-environment=time-skipping
|
||||
```
|
||||
|
||||
For detailed information on test categories, running specific tests, test environments, coverage, and troubleshooting, please refer to:
|
||||
- [testing.md](./testing.md) (Quick Start and overview)
|
||||
- [tests/README.md](../tests/README.md) (Comprehensive guide, patterns, and best practices)
|
||||
|
||||
**Ensure all tests pass before submitting a pull request.**
|
||||
|
||||
## Making Changes
|
||||
|
||||
### Adding New Tools or Goals
|
||||
If you're looking to extend the agent's capabilities:
|
||||
1. Create your tool implementation in the `tools/` directory.
|
||||
2. Register your tool and associate it with relevant goals.
|
||||
For detailed instructions, please see:
|
||||
- [Agent Customization in AGENTS.md](../AGENTS.md#agent-customization)
|
||||
- [Adding Goals and Tools Guide](./adding-goals-and-tools.md)
|
||||
|
||||
### General Code Changes
|
||||
- Follow the existing code style and patterns.
|
||||
- Ensure any new code is well-documented with comments.
|
||||
- Write new tests for new functionality or bug fixes.
|
||||
- Update existing tests if necessary.
|
||||
|
||||
## Submitting Contributions
|
||||
|
||||
### Pull Requests
|
||||
When you're ready to submit your changes:
|
||||
1. Push your branch to the remote repository.
|
||||
2. Open a Pull Request (PR) against the `main` branch.
|
||||
3. **Describe your changes:** Clearly explain what you changed and why. Reference any related issues.
|
||||
4. **Ensure tests pass:** All CI checks, including tests and linters, must pass. The command `poetry run pytest --workflow-environment=time-skipping` is a good one to run locally.
|
||||
5. **Request review:** Request a review from one or more maintainers.
|
||||
|
||||
## Reporting Bugs
|
||||
If you encounter a bug, please:
|
||||
1. **Search existing issues:** Check if the bug has already been reported.
|
||||
2. **Open a new issue:** If not, create a new issue.
|
||||
- Provide a clear and descriptive title.
|
||||
- Include steps to reproduce the bug.
|
||||
- Describe the expected behavior and what actually happened.
|
||||
- Provide details about your environment (OS, Python version, Temporal server version, etc.).
|
||||
- Include any relevant logs or screenshots.
|
||||
|
||||
## Suggesting Enhancements
|
||||
We welcome suggestions for new features or improvements!
|
||||
1. **Search existing issues/discussions:** See if your idea has already been discussed.
|
||||
2. **Open a new issue:**
|
||||
- Use a clear and descriptive title.
|
||||
- Provide a detailed explanation of the enhancement and its benefits.
|
||||
- Explain the use case or problem it solves.
|
||||
- Include any potential implementation ideas if you have them.
|
||||
|
||||
## Key Resources
|
||||
- **Project Overview**: [README.md](../README.md)
|
||||
- **Detailed Contribution & Development Guide**: [AGENTS.md](../AGENTS.md)
|
||||
- **Setup Instructions**: [setup.md](./setup.md)
|
||||
- **Comprehensive Testing Guide**: [testing.md](./testing.md) and [tests/README.md](../tests/README.md)
|
||||
- **System Architecture**: [architecture.md](./architecture.md)
|
||||
- **Architecture Decisions**: [architecture-decisions.md](./architecture-decisions.md)
|
||||
- **Customizing Agent Tools and Goals**: [adding-goals-and-tools.md](./adding-goals-and-tools.md)
|
||||
- **To-Do List / Future Enhancements**: [todo.md](./todo.md)
|
||||
Reference in New Issue
Block a user