Community¶
Welcome to the FCC Agent Team Framework community. This page covers how to participate, contribute, report issues, and connect with other users and developers.
Code of Conduct¶
The FCC project is committed to providing a welcoming, inclusive environment for everyone. Our community standards are grounded in the same values encoded in the Discernment Matrix:
- Humility -- Acknowledge that others may have perspectives and expertise you lack. Accept feedback gracefully.
- Curiosity -- Approach discussions with genuine interest in learning. Ask questions rather than making assumptions.
- Inclusivity -- Honor diverse backgrounds, experiences, and viewpoints. Make space for voices that are not always heard.
- Responsibility -- Take ownership of your contributions and their impact. If you make a mistake, acknowledge it and work to make it right.
- Professional Background -- Respect the varied professional contexts from which contributors come. Enterprise, academic, and hobbyist perspectives are all valuable.
- Taste -- Exercise refined judgment in technical discussions. Critique ideas, not people.
Unacceptable Behavior¶
- Harassment, discrimination, or intimidation in any form
- Personal attacks or ad hominem arguments
- Sharing others' private information without consent
- Sustained disruption of discussions or contribution workflows
- Dismissing contributions based on the contributor's background or experience level
Reporting¶
If you experience or witness unacceptable behavior, please contact the maintainers at the email listed in the repository. All reports will be handled confidentially.
Getting Involved¶
GitHub Discussions¶
The primary forum for FCC community interaction is GitHub Discussions on the project repository. Use the following categories:
| Category | Use For |
|---|---|
| General | Introductions, general questions, project news |
| Ideas | Feature requests, design proposals, roadmap suggestions |
| Q&A | Technical questions about using FCC |
| Show and Tell | Share your FCC integrations, custom personas, or research results |
Bug Reports¶
Found a bug? Report it through GitHub Issues using the bug report template. A good bug report includes:
- Environment -- Python version, FCC version, operating system
- Steps to reproduce -- Minimal code or CLI commands that trigger the issue
- Expected behavior -- What you expected to happen
- Actual behavior -- What actually happened, including error messages
- Logs/traces -- Relevant simulation traces or error output
# Include this information in your report
python --version
pip show fcc-agent-team-ext
fcc validate --personas data/personas/
Feature Requests¶
Have an idea for improving FCC? Open a GitHub Issue with the feature request template. Strong feature requests include:
- Problem statement -- What problem does this feature solve?
- Proposed solution -- How would you like it to work?
- Alternatives considered -- What other approaches did you consider?
- Impact -- Which personas, workflows, or users would benefit?
Contributing¶
Quick Start¶
# 1. Fork and clone the repository
git clone https://github.com/YOUR-USERNAME/l2_fcc_agent_team_ext.git
cd l2_fcc_agent_team_ext
# 2. Create a virtual environment and install dev dependencies
make venv && source .venv/bin/activate
make install-dev
# 3. Run the test suite to verify your environment
make test
# 4. Run the linter
make lint
# 5. Create a feature branch
git checkout -b feature/your-feature-name
Contribution Types¶
| Type | Description | Complexity |
|---|---|---|
| Bug fix | Fix a reported issue with a test | Low |
| Documentation | Improve or add documentation pages | Low-Medium |
| New persona | Add a persona with full R.I.S.C.E.A.R. spec | Medium |
| Quality gate | Add a new quality gate definition | Medium |
| Feature | New functionality in src/fcc/ |
Medium-High |
| Integration | Connect FCC to an external framework | High |
Development Standards¶
- Source code lives under
src/fcc/ - Tests mirror the source structure under
tests/ - Data files (YAML, JSON schemas) live under
data/ - Use dataclasses for models, not Pydantic
- Use click for CLI, not argparse
- Maintain 100% test coverage (the current standard is 1,060+ tests at 100%)
- Follow ruff linting rules
Pull Request Process¶
- Create a feature branch from
main - Make your changes with tests
- Run
make testandmake lintto verify - Push your branch and open a Pull Request
- Fill out the PR template with a description of your changes
- Wait for review from a maintainer
Commit Message Convention¶
Use clear, descriptive commit messages:
Add custom quality gate for HIPAA compliance
- Add QG-HIPAA-001, QG-HIPAA-002, QG-HIPAA-003 gate definitions
- Add validation logic for PHI data classification tags
- Add tests for all three gates
- Update quality gate documentation
Project Governance¶
Maintainers¶
The FCC Agent Team Framework is maintained by Information Collective, LLC. Maintainers have final authority on:
- Architectural decisions
- Persona specification changes
- Release management
- Code of conduct enforcement
Decision Making¶
Technical decisions follow a proposal-review-merge workflow:
- Proposal -- Open a GitHub Issue or Discussion describing the change
- Review -- Maintainers and community members discuss the proposal
- Implementation -- Once approved, submit a Pull Request
- Merge -- Maintainers review and merge the PR
Versioning¶
The project follows Semantic Versioning:
- MAJOR -- Breaking changes to the persona spec, API, or data format
- MINOR -- New personas, quality gates, features, or non-breaking additions
- PATCH -- Bug fixes, documentation corrections, performance improvements
Ecosystem¶
Related Projects¶
- PAOM -- A consumer project that uses FCC personas (FCC is the canonical authority; PAOM consumes)
- MkDocs -- The documentation site is built with MkDocs Material
Academic Use¶
FCC is designed to be useful in academic research. See the Research Methodology Guide for how to use FCC in experiments, and the Citation Guide for how to cite the framework.
Staying Updated¶
- Watch the repository on GitHub for release notifications
- Star the repository to show support and track updates
- Check the changelog in each release for what changed
Related Resources¶
- Citation Guide -- How to cite FCC in publications
- Getting Started -- First steps with FCC
- Developer Guide -- Architecture and extension documentation