OpenWriterControle/.opencode/context/openagents-repo/guides/github-issues-workflow.md
Darren Hinde d7a4cb8031
feat: Context path configuration and documentation reorganization (#143)
* feat: add npm package support for @openagents/control

- Convert package to publishable npm package with scoped name @openagents/control
- Add CLI entry point bin/oac.js for global installation
- Create .npmignore to exclude dev files and node_modules
- Configure package.json with proper files, bin, and metadata
- Add comprehensive NPM_PUBLISHING_GUIDE.md with publishing instructions
- Package size: 610KB (2.4MB unpacked) with 353 files
- Includes .opencode/tool/ directory without node_modules
- CLI command: oac (e.g., 'oac developer' or 'oac --help')

Users can install with: npm install -g @openagents/control

* chore: remove telegram bot files from package

- Delete .opencode/_lib/telegram-bot.ts (unused)
- Delete .opencode/plugin/telegram-notify.ts (depends on deleted file)
- Remove _lib directory reference from package.json files field
- Reduces package size from 610KB to 607KB
- Total files: 351 (down from 353)

* chore: remove all telegram references from registry and docs

- Remove telegram-bot and telegram-notify plugin entries from registry.json
- Remove telegram plugin references from all profiles (developer, business, full, advanced)
- Update profile-validation.md to remove telegram from business profile documentation
- Clean package with no telegram dependencies

* docs: enhance README clarity and add configuration examples

- Add Core Philosophy section with 4 key principles
- Add Quick Concepts for First-Time Users (scannable format)
- Add prominent Oh My OpenCode comparison link
- Add comprehensive Model Configuration section
- Add Customizing Agents section with practical examples
- Streamline model selection recommendations
- Add emoji headers for visual consistency
- Remove redundant FAQ entry

Addresses user feedback about documentation clarity and first-time user experience.

* refactor: remove OpenImplementer agent

- Delete OpenImplementer agent file (redundant with OpenAgent)
- Remove from registry.json and all profiles
- Update OpenCoder delegation rules (now handles 1-4 files directly)
- Clean up all context file references
- Remove from commands and documentation

Rationale: OpenImplementer only added 1 file to OpenAgent's capability (3→4 files), creating unnecessary complexity. OpenAgent and OpenCoder provide clearer separation: OpenAgent for general + focused tasks (1-4 files), OpenCoder for complex architecture (4+ files).

* fix: remove stale OpenImplementer reference from OpenCoder

- Remove OpenImplementer from Available Subagents list
- Clarify CoderAgent is used via TaskManager for complex tasks
- Keep delegation rules as-is (execute 1-4 files directly, delegate complex to CoderAgent)

* docs: remove remaining OpenImplementer references

- Update developer profile description (OpenAgent vs OpenCoder)
- Update registry.json profile description
- Update docs/README.md to remove OpenImplementer
- Update CHANGELOG.md to reflect simplified architecture

All OpenImplementer references now removed. Registry validation passes.

* docs: enhance README with first-time user improvements

- Add 'your secret weapon!' to Context System in Quick Concepts
- Add First-Time User Checklist after Get Started section
- Add visual comparison table for AOC vs Oh My OpenCode in FAQ
- Improve scannability and clarity for new users

Based on DocWriter review recommendations.

* docs: clarify project-context.md is created during installation

Minor enhancement to First-Time User Checklist step 2 for extra clarity.

* docs: change 'I' to 'we' for collaborative tone

- Update 'Why I Built This' to 'Why We Built This'
- Change 'I've spent' to 'We've spent'
- Change 'I use this' to 'We use this'
- Makes the project feel more collaborative and team-oriented

* docs: make intro more neutral and objective

- Change 'Why We Built This' to 'Why This Exists'
- Remove personal perspective ('We've spent 14+ years')
- Change 'We use this' to 'It's built for shipping'
- More professional and objective tone

* docs: major README rewrite based on user feedback

Key improvements based on real user confusion:

1. **Clear 'What Is AOC?' section** - Explains scaffold vs plugin approach upfront
2. **Model configuration prominently featured** - Addresses #1 user question
3. **Hook with quantified paradox** - Grabs attention in 15 seconds
4. **Context System promoted** - Moved to top, explains the differentiator
5. **Comparison table** - AOC vs Oh My OpenCode side-by-side
6. **Eliminated 60% redundancy** - Merged overlapping sections
7. **Simplified deep dives** - Model config and customization tightened

Based on user feedback: 'I just expected that behaviour because it was not
documented properly... the only thing really lacking was a clear explanation
of its purpose and how to configure models and adjust agents.'

Addresses: Confusion about scaffold vs plugin, model configuration, and
first-time user expectations.

* chore: publish package as @nextsystems/oac v0.7.0

- Changed package name from @openagents/control to @nextsystems/oac
- Successfully published to npm registry
- Users can install with: npm install -g @nextsystems/oac
- CLI command: oac

* feat: add context path configuration and reorganize documentation

- Add configurable context root via paths.json (@reference support)
- Add /add-context command for interactive context setup
- Move NPM_PUBLISHING_GUIDE.md to context system (guides/npm-publishing.md)
- Add GitHub issues workflow guide
- Update agents to support custom context directories
- Update navigation with new guides and file counts

This enables projects to use custom context directories (e.g., .context, .ai/context)
while maintaining backward compatibility with default .opencode/context/ structure.
2026-01-30 17:18:05 +00:00

9.6 KiB

Guide: GitHub Issues and Project Board Workflow

Prerequisites: Basic understanding of GitHub issues and projects
Purpose: Step-by-step workflow for managing issues and project board


Overview

This guide covers how to work with GitHub issues and the project board to track and process different requests, features, and improvements.

Project Board: https://github.com/users/darrenhinde/projects/2/views/2

Time: Varies by task


Quick Commands Reference

# List issues
gh issue list --repo darrenhinde/OpenAgentsControl

# Create issue
gh issue create --repo darrenhinde/OpenAgentsControl --title "Title" --body "Body" --label "label1,label2"

# Add issue to project
gh project item-add 2 --owner darrenhinde --url https://github.com/darrenhinde/OpenAgentsControl/issues/NUMBER

# View issue
gh issue view NUMBER --repo darrenhinde/OpenAgentsControl

# Update issue
gh issue edit NUMBER --repo darrenhinde/OpenAgentsControl --add-label "new-label"

# Close issue
gh issue close NUMBER --repo darrenhinde/OpenAgentsControl

Step 1: Creating Issues

Issue Types

Feature Request

  • Labels: feature, enhancement
  • Include: Goals, key features, success criteria
  • Template: See "Feature Issue Template" below

Bug Report

  • Labels: bug
  • Include: Steps to reproduce, expected vs actual behavior
  • Template: See "Bug Issue Template" below

Improvement

  • Labels: enhancement, framework
  • Include: Current state, proposed improvement, impact

Question

  • Labels: question
  • Include: Context, specific question, use case

Priority Labels

  • priority-high - Critical, blocking work
  • priority-medium - Important, not blocking
  • priority-low - Nice to have

Category Labels

  • agents - Agent system related
  • framework - Core framework changes
  • evals - Evaluation framework
  • idea - High-level proposal

Creating an Issue

# Basic issue
gh issue create \
  --repo darrenhinde/OpenAgentsControl \
  --title "Add new feature X" \
  --body "Description of feature" \
  --label "feature,priority-medium"

# Feature with detailed body
gh issue create \
  --repo darrenhinde/OpenAgentsControl \
  --title "Build plugin system" \
  --label "feature,framework,priority-high" \
  --body "$(cat <<'EOF'
## Overview
Brief description

## Goals
- Goal 1
- Goal 2

## Key Features
- Feature 1
- Feature 2

## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
EOF
)"

Step 2: Adding Issues to Project Board

Add Single Issue

# Add issue to project
gh project item-add 2 \
  --owner darrenhinde \
  --url https://github.com/darrenhinde/OpenAgentsControl/issues/NUMBER

Add Multiple Issues

# Add issues 137-142 to project
for i in {137..142}; do
  gh project item-add 2 \
    --owner darrenhinde \
    --url https://github.com/darrenhinde/OpenAgentsControl/issues/$i
done

Verify Issues on Board

# View project items
gh project item-list 2 --owner darrenhinde --format json | jq '.items[] | {title, status}'

Step 3: Processing Issues

Workflow States

  1. Backlog - New issues, not yet prioritized
  2. Todo - Prioritized, ready to work on
  3. In Progress - Currently being worked on
  4. In Review - PR submitted, awaiting review
  5. Done - Completed and merged

Moving Issues

# Update issue status (via project board UI or gh CLI)
# Note: Status updates are typically done via web UI

Assigning Issues

# Assign to yourself
gh issue edit NUMBER \
  --repo darrenhinde/OpenAgentsControl \
  --add-assignee @me

# Assign to someone else
gh issue edit NUMBER \
  --repo darrenhinde/OpenAgentsControl \
  --add-assignee username

Step 4: Working on Issues

Start Work

  1. Assign issue to yourself

    gh issue edit NUMBER --repo darrenhinde/OpenAgentsControl --add-assignee @me
    
  2. Move to "In Progress" (via web UI)

  3. Create branch (optional)

    git checkout -b feature/issue-NUMBER-description
    
  4. Reference issue in commits

    git commit -m "feat: implement X (#NUMBER)"
    

Update Progress

# Add comment to issue
gh issue comment NUMBER \
  --repo darrenhinde/OpenAgentsControl \
  --body "Progress update: Completed X, working on Y"

Complete Work

  1. Create PR

    gh pr create \
      --repo darrenhinde/OpenAgentsControl \
      --title "Fix #NUMBER: Description" \
      --body "Closes #NUMBER\n\nChanges:\n- Change 1\n- Change 2"
    
  2. Move to "In Review" (via web UI)

  3. After merge, issue auto-closes (if PR uses "Closes #NUMBER")


Step 5: Using Issues for Request Processing

Request Types

User Feature Request

  1. Create issue with feature label
  2. Add to project board
  3. Prioritize based on impact
  4. Break down into subtasks if needed
  5. Assign to appropriate person/team

Bug Report

  1. Create issue with bug label
  2. Add reproduction steps
  3. Prioritize based on severity
  4. Assign for investigation
  5. Link to related issues if applicable

Improvement Suggestion

  1. Create issue with enhancement label
  2. Discuss approach in comments
  3. Get consensus before implementation
  4. Create implementation plan
  5. Execute and track progress

Breaking Down Large Issues

For complex features, create parent issue and subtasks:

# Parent issue
gh issue create \
  --repo darrenhinde/OpenAgentsControl \
  --title "[EPIC] Plugin System" \
  --label "feature,framework,priority-high" \
  --body "Parent issue for plugin system work"

# Subtask issues
gh issue create \
  --repo darrenhinde/OpenAgentsControl \
  --title "Plugin manifest system" \
  --label "feature" \
  --body "Part of #PARENT_NUMBER\n\nImplement plugin.json manifest"

Step 6: Issue Templates

Feature Issue Template

## Overview
Brief description of the feature

## Goals
- Goal 1
- Goal 2
- Goal 3

## Key Features
- Feature 1
- Feature 2
- Feature 3

## Related Issues
- #123 (related issue)

## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3

Bug Issue Template

## Description
Brief description of the bug

## Steps to Reproduce
1. Step 1
2. Step 2
3. Step 3

## Expected Behavior
What should happen

## Actual Behavior
What actually happens

## Environment
- OS: macOS/Linux/Windows
- Version: 0.5.2
- Node: v20.x

## Additional Context
Any other relevant information

Improvement Issue Template

## Current State
Description of current implementation

## Proposed Improvement
What should be improved and why

## Impact
- Performance improvement
- Developer experience
- User experience

## Implementation Approach
High-level approach to implementation

## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2

Step 7: Automation and Integration

Auto-Close Issues

Use keywords in PR descriptions:

  • Closes #123
  • Fixes #123
  • Resolves #123
# In PR description
gh pr create \
  --title "Add feature X" \
  --body "Implements #123\n\nChanges:\n- Change 1"

Issue References in Commits

# Reference issue in commit
git commit -m "feat: add plugin system (#137)"

# Close issue in commit
git commit -m "fix: resolve permission error (closes #140)"

Best Practices

Issue Creation

✅ Clear titles - Descriptive and specific
✅ Detailed descriptions - Include context and goals
✅ Proper labels - Use consistent labeling
✅ Success criteria - Define what "done" means
✅ Link related issues - Show dependencies

Issue Management

✅ Regular triage - Review and prioritize weekly
✅ Keep updated - Add comments on progress
✅ Close stale issues - Clean up old/irrelevant issues
✅ Use milestones - Group related issues
✅ Assign owners - Clear responsibility

Project Board

✅ Update status - Keep board current
✅ Limit WIP - Don't overload "In Progress"
✅ Review regularly - Weekly board review
✅ Archive completed - Keep board clean


Common Workflows

Processing User Request

  1. Receive request (via issue, email, chat)
  2. Create issue with appropriate labels
  3. Add to project board
  4. Triage and prioritize
  5. Assign to team member
  6. Track progress via status updates
  7. Review and merge PR
  8. Close issue and notify requester

Planning New Feature

  1. Create epic issue for overall feature
  2. Break down into subtasks
  3. Add all to project board
  4. Prioritize subtasks
  5. Assign to team members
  6. Track progress across subtasks
  7. Complete and close when all subtasks done

Bug Triage

  1. Create bug issue with reproduction steps
  2. Label with severity (critical, high, medium, low)
  3. Add to project board
  4. Assign for investigation
  5. Reproduce and diagnose
  6. Fix and test
  7. Create PR with fix
  8. Close issue after merge

Checklist

Before closing an issue:

  • All success criteria met
  • Tests passing
  • Documentation updated
  • PR merged (if applicable)
  • Related issues updated
  • Stakeholders notified

  • Registry guide: guides/updating-registry.md
  • Release guide: guides/creating-release.md
  • Testing guide: guides/testing-agent.md
  • Debugging: guides/debugging.md

External Resources


Last Updated: 2026-01-30
Version: 0.5.2