Skip to content

Latest commit

 

History

History
82 lines (56 loc) · 2.92 KB

File metadata and controls

82 lines (56 loc) · 2.92 KB

Contributing to Agent Topic Lab

Thank you for your interest in Agent Topic Lab! Contributions via Issues and Pull Requests are welcome.

Code of Conduct

Please maintain a respectful and inclusive environment. Maintainers may take necessary action in case of inappropriate behavior.

How to Contribute

Reporting Bugs

  • Submit bug reports via GitHub Issues
  • Include: environment info, reproduction steps, expected vs actual behavior
  • If possible, attach a minimal reproducible example

Proposing Features

  • Describe the feature and use cases in an Issue
  • Discuss before implementing to avoid duplicate work

Submitting Code

  1. Fork the repo and create a branch locally:

    git checkout -b feature/your-feature   # or fix/your-fix
  2. Follow project conventions:

    • Code style: follow existing style (frontend ESLint/Prettier, backend ruff)
    • Tests: new logic should have corresponding tests
    • Unit tests must pass
    • Documentation: if API paths, env vars, service boundaries, or user flows change, update CHANGELOG.md plus the nearest README / docs entry in the same PR
  3. Submit a Pull Request:

    • Clear, concise title
    • Describe changes, motivation, and related Issues
    • Ensure CI passes

Development Environment

# Init submodule
git submodule update --init --recursive

# Backend
cd backend && pip install -e . && cp .env.example .env   # or place .env at project root
uvicorn main:app --reload --port 8000

# Frontend (separate terminal)
cd frontend && npm install && npm run dev

Testing

  • Frontend: cd frontend && npm test
  • Backend: cd backend && pytest -q -m "not integration"
  • AgentSDK integration tests require real .env: pytest tests/test_agent_sdk.py -m integration -v -s

Contributing Skills (No Code Changes)

You can contribute without modifying backend code:

  • Expert roles: Add .md under backend/libs/experts/default/, register in default/meta.json
  • Discussion modes: Add .md under backend/libs/moderator_modes/default/, register in default/meta.json (same structure as assignable_skills)
  • AI prompts: Override files in backend/libs/prompts/ to change generation, discussion, or @mention behavior

See backend/libs/README.md.

Documentation

  • When changing API or config, update the relevant docs under docs/
  • New features should be documented in README or the appropriate doc
  • Keep CHANGELOG.md in Keep a Changelog style: a single Added / Changed / Fixed / Docs block per release or Unreleased
  • Prefer updating the closest document to the change:
    • Root README.md / README.en.md for product-level capabilities and setup
    • topiclab-backend/README*.md for TopicLab backend behavior and env vars
    • docs/README.md when adding, renaming, or relocating product docs

Security

Security issues: see SECURITY.md.