Thanks for your interest in contributing! 🎉
- Full Contributing Guide: docs/contributing.md
- Code of Conduct: CODE_OF_CONDUCT.md
- Security Policy: SECURITY.md
Create a new perspective for your team or community:
cd packs/
cp staff-core.yaml my-new-pack.yaml
# Edit your pack definition
git diff HEAD~1 | greybeard analyze --pack packs/my-new-pack.yamlPack Ideas:
- Security engineer reviewing auth/injection/secrets
- Data engineer reviewing migrations/schemas
- Mobile engineer reviewing client/server contracts
- SRE reviewing SLOs/error budgets/toil
See Pack Schema and Packs Guide for details.
Build specialized decision-making tools using the framework:
from greybeard.common import BaseAgent
class MyCustomAgent(BaseAgent):
def __init__(self):
super().__init__(name="my-agent", description="...")
def run(self, user_input: str) -> dict:
context = self.research.gather_file_context("file.txt")
response = self.llm.call(...)
return {"result": response}See Creating Agents Guide and template.
Enhance the stateful conversation REPL:
- New interactive commands or workflows
- Better context management for long sessions
- Improved streaming UX
- Bug fixes
See Contributing to Interactive Mode in docs/contributing.md.
Found a bug? Open an issue with steps to reproduce.
Have an idea? Suggest a feature.
See the full guide for:
- Development setup
- Running tests
- Code style and formatting
- Interactive mode development
- Commit guidelines
git clone https://github.com/btotharye/greybeard.git
cd greybeard
make install-dev # Install dependencies
make pre-commit-install # Install git hooks (recommended)
make test # Run testsSee the full development guide for details on pre-commit hooks, coverage reports, type checking, and more.
- Check the documentation
- Ask in GitHub Discussions
- Open an issue if you're stuck
For the full contributing guide with detailed instructions, see docs/contributing.md.