Democratic, AI-Assisted Software Development
CrowdCode is a collaborative platform for community-driven software development using GitHub primitives and AI-powered code generation. It enables transparent, democratic feature development where:
- π‘ Anyone can propose features via GitHub Issues
- π€ AI generates pull requests automatically
- π³οΈ Community votes on which features to promote
- πΏ All branches remain visible, even if not merged
- π Architecture Overview
- π Getting Started Guide
- π³οΈ Voting Mechanism
- βοΈ Workflow Design
- πΊοΈ Roadmap
CrowdCode transforms how open source projects handle feature requests:
Traditional Approach:
Feature Request β Maintainer Reviews β Maintainer Codes β Manual Merge
CrowdCode Approach:
Feature Request β AI Generates PR β Community Votes β Automatic Promotion
- AI as Contributor, Not Authority: GitHub Copilot generates code, but humans decide what gets merged
- Radical Transparency: All feature branches are public, all votes are visible
- Democratic Governance: PatchPanel members vote on features
- Complete Auditability: Every decision tracked in Git history
Submit feature requests using structured GitHub Issue templates. Each request includes:
- Feature description
- Use case and motivation
- Acceptance criteria
- Priority level
Scheduled GitHub Actions workflows:
- Scan for new feature requests daily
- Generate code using GitHub Copilot (Phase 2)
- Create feature branches automatically
- Open pull requests with implementation
PatchPanel: Authorized voter group who decides feature promotion
- Vote using GitHub reactions (π π π) or PR reviews
- Configurable quorum and approval thresholds
- Real-time vote counting
- Transparent voting records
Main Branch: Stable, production-ready code with promoted features
Feature Branches: Experimental implementations, all publicly visible
- Format:
crowdcode/feature-{issue-number}-{slug} - Never auto-deleted
- Can be tested independently
- Remain visible even if rejected
Use the GitHub Issue template to propose a feature:
Feature Name: Dark Mode Support
Description: Add dark theme toggle to all interfaces
Use Case: Improve accessibility and reduce eye strain
Acceptance Criteria:
- [ ] Toggle button in header
- [ ] Theme persists in localStorage
- [ ] All UI elements have dark variantsDaily workflow scans for new requests and:
- Creates feature branch
- Generates code implementation
- Opens pull request
- Links PR to original issue
PatchPanel members:
- Review the AI-generated code
- Provide feedback and suggestions
- Vote on whether to promote
Vote methods:
- π Reaction = Approve
- π Reaction = Reject
- π Reaction = Need more review
- PR Reviews (Approve/Request Changes)
When voting threshold is met:
- Feature is merged to main
- Original issue is closed
- Feature branch remains visible
- Changelog is updated
Submit a feature request:
- Go to Issues
- Fill out the feature request form
- Submit and wait for AI generation
- Track progress on the PR
Vote on features:
- Browse open PRs
- Review the implementation
- Vote using π π π reactions
- Or submit formal PR review
Enable CrowdCode in your project:
- Copy CrowdCode files to your repo
- Configure PatchPanel members
- Create required labels
- Test with sample feature
See Getting Started Guide for detailed instructions.
- Platform architecture designed
- Workflow specifications complete
- Voting mechanism documented
- Repository structure defined
- GitHub Actions workflows created
- Issue templates ready
- Scripts implemented (placeholder)
- Next: AI code generation integration
- Phase 1 (Weeks 1-4): Architecture & Documentation β
- Phase 2 (Weeks 5-8): AI Integration & Automation
- Phase 3 (Weeks 9-16): Generalization & Templates
- Phase 4 (Weeks 17-24): Ecosystem Development
- Phase 5 (Months 6-12): Platform Maturity
See ROADMAP.md for complete roadmap.
crowdcode-issue-to-pr.yml: Converts issues to PRs (daily)crowdcode-vote-counting.yml: Counts PatchPanel votes (hourly)crowdcode-feature-promotion.yml: Promotes approved features (daily)crowdcode-branch-visibility.yml: Maintains feature dashboard (weekly)
.github/PATCHPANEL_MEMBERS.json: Authorized voters list.github/crowdcode-config.yml: Platform configuration.github/ISSUE_TEMPLATE/feature-request.yml: Feature request form
generate-feature-pr.py: Generate PRs from issuesvalidate-votes.py: Count and validate votespromote-feature.py: Merge approved featuresgenerate-dashboard.py: Build feature dashboard
Enable community-driven feature development:
- Anyone can propose features
- AI handles initial implementation
- Community decides what to include
- Transparent decision-making
Collaborative tool development:
- Researchers propose analysis features
- AI generates code scaffolding
- Expert panel votes on inclusion
- All experiments remain visible
Student-driven development:
- Students propose features
- AI assists with implementation
- Instructors guide via voting
- Learning artifacts preserved
Public participation in software:
- Exhibition visitors propose features via codes
- Real-time development during exhibition
- Community shapes the tool
- Digital democracy in action
CrowdCode is built on the belief that:
- Communities should shape their tools rather than being shaped by them
- AI should augment human creativity, not replace human judgment
- Transparency builds trust more than speed builds adoption
- Code should be visible even when not deployed
- Democracy scales when properly designed
CrowdCode was conceived for ShelfSignals, a library analytics and visualization platform. The goal was to enable:
- Library patrons to propose features
- Exhibition visitors to participate via physical codes
- AI to assist with implementation
- Community to decide direction
The platform is now being generalized for any collaborative software project.
- Architecture Overview - System design and components
- Getting Started - Setup and usage guide
- Voting Mechanism - How voting works
- Workflow Design - GitHub Actions details
- Repository Structure - File organization
- Roadmap - Evolution plan
We welcome contributions! CrowdCode itself uses CrowdCode for development (meta!).
Ways to contribute:
- π‘ Submit feature requests
- π³οΈ Join the PatchPanel (request membership)
- π Report bugs
- π Improve documentation
- π» Submit pull requests
See CONTRIBUTING.md for guidelines (coming soon).
MIT License - See LICENSE for details
Created by evcatalyst for collaborative, democratic software development.
- ShelfSignals: Reference implementation
- GitHub Copilot: AI code generation
- GitHub Actions: Automation infrastructure
- Open Source Community: Inspiration and principles
CrowdCode: Where AI proposes, humans decide, and transparency wins. π