Skip to content

Contributing Guidelines

SimpleContext is a community-driven ecosystem. Contributions to any of the five repositories are welcome.


Ways to Contribute

What Where
Bug fixes, features SimpleContext
New agent YAML SimpleContext-Agents
New plugin SimpleContext-Plugin
Bot improvements SimpleContext-Bot
Docs improvements SimpleContext-Docs

General Process

  1. Fork the relevant repository
  2. Create a branch: git checkout -b feat/my-feature
  3. Build your contribution
  4. Test it works
  5. Open a Pull Request with a clear description

Contribution Types

🤖 New Agent

Agents are the easiest contribution — just YAML, no Python required.

Requirements: - Valid YAML that parses without errors - Unique name (lowercase, underscores) - At least 5 domain-specific trigger keywords - personality.default — clear, focused system prompt - personality.indonesian — recommended for bilingual support - Skills with description fields

# Test your YAML
python3 -c "import yaml; yaml.safe_load(open('agents/my_agent.yaml'))"

See the full guide: Create an Agent

🔌 New Plugin

Plugins require Python but follow a clear structure.

Requirements: - Inherits BasePlugin with name, version, description - All hooks return correct types - No hardcoded credentials - README.md with install, config, and example - Tested with SimpleContext v4.3+

See the full guide: Develop a Plugin and Plugin Tutorial

🐛 Bug Fix

  1. Open an issue describing the bug
  2. Reference the issue in your PR
  3. Include a test that would have caught the bug

📖 Documentation

This docs site is in SimpleContext-Docs.

git clone https://github.com/zacxyonly/SimpleContext-Docs
cd SimpleContext-Docs
pip install -r requirements.txt
mkdocs serve   # live preview at localhost:8000

Code Style

For Python contributions (core, plugins, bot):

  • Python 3.10+ type hints where appropriate
  • Docstrings on public methods
  • No external dependencies in core (simplecontext/)
  • Plugins may use stdlib only, unless dependency is clearly documented

Commit Message Format

type(scope): short description

feat(plugins):   new feature in plugin system
fix(memory):     bug fix in memory module
docs(readme):    documentation update
chore(deps):     dependency update
refactor(core):  code refactor without behavior change
test(context):   add or update tests

Questions?

Open an issue in the relevant repository. For general questions, use SimpleContext.