Skip to main content
Version: Next

Contributing Guidelines

This document establishes guidelines for using GitHub Discussions and Issues for technical conversations about the Agent Manager.

Getting Started​

Discussion Categories​

CategoryPurposeExample Topics
AnnouncementsOfficial updates from maintainersReleases, roadmap updates, breaking changes
GeneralOpen-ended conversationsCommunity introductions, general questions
IdeasFeature suggestions and brainstormingNew capabilities, integration ideas
Q&ATechnical questions with answersImplementation help, troubleshooting
Show and TellShare projects and integrationsAgent implementations, use cases
Design ProposalsTechnical design discussionsArchitecture changes, system design, new features requiring review

When to Use Discussions vs Issues​

Use Discussions ForUse Issues For
Open-ended questionsBug reports with reproduction steps
Feature ideas and brainstormingConcrete feature requests with clear scope
Design proposals and RFCsActionable tasks and work items
Community engagementPull request discussions
Troubleshooting helpSecurity vulnerabilities (private)

Guidelines​

Starting a Discussion​

  1. Search first - Check existing discussions to avoid duplicates
  2. Choose the right category - Use the category table above
  3. Use a clear title - Be specific and descriptive
  4. Provide context - Include relevant details, code snippets, or diagrams

Promoting Discussions to Issues​

When a discussion results in actionable work:

  1. Summarize the outcome in a final comment
  2. Create a linked GitHub Issue for implementation
  3. Reference the discussion in the issue for context

Feature Lifecycle​

Features progress through distinct stages from initial concept to implementation:

1. Idea Stage​

High-level discussions about capabilities we want to explore start in the Ideas category. These are similar to epicsβ€”broad in scope with no imposed structure. Ideas allow open brainstorming before committing to specific solutions.

2. Design Proposal Stage​

When an idea is refined into a well-scoped feature, create a discussion in the Design Proposals category. Proposals must follow the standard template:

SectionDescription
ProblemDescribe the problem, who is affected, and the impact
User StoriesDefine user stories using the format "As a [role], I want [goal] so that [benefit]"
Existing SolutionsHow is this solved elsewhere? Include current workarounds and links to relevant implementations, docs, or design proposals
Proposed SolutionTechnical approach and design details
Alternatives ConsideredWhat other approaches were evaluated?
Open QuestionsUnresolved technical decisions that need input (if any)
Milestone PlanImplementation phases aligned with release milestones

Proposal Labels​

Use these labels to track design proposal status:

LabelDescription
Proposal/DraftInitial proposal, still being written
Proposal/ReviewReady for team review and feedback
Proposal/ApprovedDesign accepted, ready for implementation
Proposal/RejectedProposal declined
Proposal/ImplementedDesign fully implemented

3. Implementation Tracking​

Once a design proposal is approved:

  1. Create GitHub Issues for implementation tasks
  2. Link issues back to the design proposal discussion
  3. Assign issues to appropriate milestones
  4. Track progress through milestone completion