Skip to content

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:

  1. Environment -- Python version, FCC version, operating system
  2. Steps to reproduce -- Minimal code or CLI commands that trigger the issue
  3. Expected behavior -- What you expected to happen
  4. Actual behavior -- What actually happened, including error messages
  5. 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

  1. Create a feature branch from main
  2. Make your changes with tests
  3. Run make test and make lint to verify
  4. Push your branch and open a Pull Request
  5. Fill out the PR template with a description of your changes
  6. 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:

  1. Proposal -- Open a GitHub Issue or Discussion describing the change
  2. Review -- Maintainers and community members discuss the proposal
  3. Implementation -- Once approved, submit a Pull Request
  4. 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

  • 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