Skip to content

Latest commit

 

History

History
152 lines (110 loc) · 3.17 KB

File metadata and controls

152 lines (110 loc) · 3.17 KB

Developer Guide

This guide provides essential information for developers working on the Agent Kernel project.

Table of Contents

Prerequisites

Before you begin development, ensure you have the following installed:

  • Python 3.12 or higher
  • uv - Fast Python package installer and resolver
  • Git
  • Make

Setup Your Development Environment

  1. Fork the repository on GitHub

  2. Clone your fork locally:

    git clone https://github.com/yaalalabs/agent-kernel.git
    cd agent-kernel
  3. Add the upstream repository:

    git remote add upstream https://github.com/yaalalabs/agent-kernel.git
  4. Create a branch for your changes:

    git checkout -b feature/your-feature-name

Development

  1. Navigate to the Python package

    cd ak-py
  2. Install development dependencies

    ./build.sh

Makefile Commands

The project includes a Makefile with several useful commands for code formatting and quality checks. All commands should be run from the root directory of the project.

Available Commands

To see all available Makefile commands:

make help

Code Quality

Formatting Standards

Agent Kernel uses the following tools to maintain code quality:

  • black: Opinionated code formatter
  • isort: Import statement organizer

Pre-commit Workflow

Before committing code, run:

make lint-check-all

This ensures your code meets the project's formatting standards without making changes. If issues are found, run:

make lint-all

to automatically fix formatting issues.

Contributing

Development Workflow

  1. Create a feature branch

    git checkout -b feature/your-feature-name
  2. Make your changes

    • Write code following the project's conventions
    • Add tests for new functionality
  3. Verify formatting

    make lint-check-all
  4. Format your code

    make lint-all
  5. Run tests

    cd ak-py
    uv run pytest
  6. Commit your changes

    git add .
    git commit -m "feat: describe your changes"
  7. Push to your branch

    git push origin feature/your-feature-name

Commit Message Convention

Follow conventional commit format:

  • feat: - New feature
  • fix: - Bug fix
  • docs: - Documentation changes
  • chore: - Maintenance tasks
  • refactor: - Code refactoring
  • test: - Test additions or modifications

Code Review

  • Ensure all formatting checks pass
  • Add appropriate tests
  • Ensure all CI tests pass
  • Update documentation if needed
  • Request review from maintainers

Additional Resources