-
Notifications
You must be signed in to change notification settings - Fork 0
Implement CrowdCode platform for democratic AI-assisted development #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
9e2bcb2
Initial plan
Copilot d66b2b9
Add core CrowdCode platform documentation
Copilot 89b2012
Add GitHub Actions workflows, scripts, and configuration files
Copilot fb4a5f1
Add requirements.txt, .gitignore, CONTRIBUTING.md, and LICENSE
Copilot a0969de
Fix code review issues in Python scripts
Copilot 7370314
Add comprehensive implementation summary
Copilot 71f32fd
Add quick reference guide - CrowdCode platform complete
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| name: CrowdCode Feature Request | ||
| description: Submit a feature idea for AI-powered implementation | ||
| title: "[FEATURE] " | ||
| labels: ["crowdcode:feature-request"] | ||
| body: | ||
| - type: markdown | ||
| attributes: | ||
| value: | | ||
| ## 🤖 CrowdCode Feature Request | ||
|
|
||
| This feature will be reviewed and potentially implemented by AI (GitHub Copilot). | ||
| PatchPanel members will vote on whether to promote it to the main branch. | ||
|
|
||
| **How it works:** | ||
| 1. You submit this feature request | ||
| 2. AI generates a pull request with implementation | ||
| 3. PatchPanel members review and vote | ||
| 4. If approved, the feature is merged to main | ||
|
|
||
| All feature branches remain visible, even if not merged. | ||
|
|
||
| - type: input | ||
| id: feature-name | ||
| attributes: | ||
| label: Feature Name | ||
| description: Short, descriptive name for this feature | ||
| placeholder: "e.g., Dark Mode Support, Advanced Search, Export to CSV" | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: description | ||
| attributes: | ||
| label: Feature Description | ||
| description: Detailed description of what this feature should do | ||
| placeholder: | | ||
| Describe the feature in detail: | ||
| - What functionality should it add? | ||
| - How should it work? | ||
| - What should the user experience be? | ||
|
|
||
| Be as specific as possible to help the AI generate accurate code. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: use-case | ||
| attributes: | ||
| label: Use Case / Motivation | ||
| description: Why is this feature needed? | ||
| placeholder: | | ||
| Explain why this feature would be valuable: | ||
| - What problem does it solve? | ||
| - Who would benefit from it? | ||
| - How does it align with project goals? | ||
|
|
||
| Help the community understand the value proposition. | ||
| validations: | ||
| required: true | ||
|
|
||
| - type: textarea | ||
| id: acceptance-criteria | ||
| attributes: | ||
| label: Acceptance Criteria | ||
| description: How will we know this feature is complete and working correctly? | ||
| placeholder: | | ||
| List specific, testable criteria: | ||
| - [ ] User can toggle dark mode via button in header | ||
| - [ ] Dark mode preference is saved to localStorage | ||
| - [ ] All UI elements have appropriate dark mode colors | ||
| - [ ] Accessibility (contrast ratios) maintained in dark mode | ||
|
|
||
| These help validate the AI-generated implementation. | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: dropdown | ||
| id: priority | ||
| attributes: | ||
| label: Priority | ||
| description: How important is this feature? | ||
| options: | ||
| - Low - Nice to have | ||
| - Medium - Would improve the project | ||
| - High - Important for project goals | ||
| - Critical - Blocks other work or fixes major issue | ||
| default: 1 | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: textarea | ||
| id: technical-notes | ||
| attributes: | ||
| label: Technical Notes (Optional) | ||
| description: Any technical considerations or suggestions for implementation | ||
| placeholder: | | ||
| Optional technical guidance for AI implementation: | ||
| - Suggested approach or architecture | ||
| - Files that may need changes | ||
| - Dependencies or libraries to consider | ||
| - Potential challenges or edge cases to handle | ||
| - Similar features in other projects for reference | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: textarea | ||
| id: examples | ||
| attributes: | ||
| label: Examples or References (Optional) | ||
| description: Links to similar features, mockups, or examples | ||
| placeholder: | | ||
| Helpful references: | ||
| - Screenshots or mockups | ||
| - Links to similar features in other projects | ||
| - Code examples or snippets | ||
| - Design inspiration | ||
| validations: | ||
| required: false | ||
|
|
||
| - type: checkboxes | ||
| id: terms | ||
| attributes: | ||
| label: CrowdCode Terms | ||
| description: By submitting this issue, you agree that | ||
| options: | ||
| - label: This feature will be implemented by AI (GitHub Copilot) | ||
| required: true | ||
| - label: The implementation will be subject to PatchPanel voting | ||
| required: true | ||
| - label: The feature branch will remain public even if not merged | ||
| required: true | ||
| - label: I have searched existing issues to avoid duplicates | ||
| required: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { | ||
| "version": "1.0", | ||
| "updated": "2025-12-21T21:00:00Z", | ||
| "description": "Authorized PatchPanel members for CrowdCode voting", | ||
| "members": [ | ||
| { | ||
| "github_username": "evcatalyst", | ||
| "joined": "2025-12-21T21:00:00Z", | ||
| "role": "founding", | ||
| "active": true, | ||
| "notes": "Project founder" | ||
| } | ||
| ], | ||
| "codes": { | ||
| "prefix": "PATCH", | ||
| "year": 2025, | ||
| "next_sequence": 1, | ||
| "redemption_enabled": false | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,86 @@ | ||
| # CrowdCode Platform Configuration | ||
|
|
||
| # Issue Processing | ||
| issue_processing: | ||
| max_per_run: 5 # Maximum number of issues to process per workflow run | ||
| labels: | ||
| feature_request: "crowdcode:feature-request" | ||
| pending_pr: "crowdcode:pending-pr" | ||
| ai_generated: "crowdcode:ai-generated" | ||
| voting: "crowdcode:voting" | ||
| ready_to_promote: "crowdcode:ready-to-promote" | ||
| promoted: "crowdcode:promoted" | ||
| archived: "crowdcode:archived" | ||
|
|
||
| # AI Code Generation | ||
| ai_generation: | ||
| enabled: true | ||
| model: "gpt-4" # AI model to use for code generation | ||
| max_tokens: 4000 | ||
| temperature: 0.7 | ||
| retry_attempts: 3 | ||
| timeout_seconds: 300 | ||
|
|
||
| # Voting System | ||
| voting: | ||
| quorum: 3 # Minimum number of votes required | ||
| approval_threshold: 0.5 # 50% approval needed (0.0 to 1.0) | ||
| voting_period_days: 7 # How long voting stays open | ||
| auto_close_on_threshold: true # Automatically close voting when threshold met | ||
| count_reactions: true # Count PR reactions as votes | ||
| count_reviews: true # Count PR reviews as votes | ||
|
|
||
| # Valid reactions for voting | ||
| valid_reactions: | ||
| approve: ["+1", "thumbsup", "heart"] | ||
| reject: ["-1", "thumbsdown"] | ||
| review: ["eyes", "thinking_face"] | ||
|
|
||
| # Review state mappings | ||
| review_mapping: | ||
| APPROVED: "approve" | ||
| CHANGES_REQUESTED: "reject" | ||
| COMMENTED: "review" | ||
|
|
||
| # Feature Promotion | ||
| promotion: | ||
| merge_method: "squash" # Options: merge, squash, rebase | ||
| require_tests: false # Require tests to pass before promotion | ||
| require_codeql: false # Require CodeQL security scan before promotion | ||
| auto_delete_branch: false # Keep feature branches visible | ||
| auto_deploy: false # Automatically deploy after promotion | ||
| notify_members: true # Notify PatchPanel members of promotion | ||
|
|
||
| # Branch Management | ||
| branches: | ||
| prefix: "crowdcode/feature" # Prefix for feature branches | ||
| base_branch: "main" # Base branch for features | ||
| protection_rules: | ||
| require_review: false # AI generates, humans vote instead | ||
| require_status_checks: false | ||
|
|
||
| # PatchPanel | ||
| patchpanel: | ||
| membership_file: ".github/PATCHPANEL_MEMBERS.json" | ||
| allow_membership_requests: true | ||
| require_physical_codes: false | ||
| membership_issue_label: "crowdcode:membership-request" | ||
|
|
||
| # Notifications | ||
| notifications: | ||
| slack: | ||
| enabled: false | ||
| webhook_secret: "SLACK_WEBHOOK" | ||
| discord: | ||
| enabled: false | ||
| webhook_secret: "DISCORD_WEBHOOK" | ||
| github: | ||
| enabled: true | ||
| mention_on_promotion: true | ||
|
|
||
| # Dashboard | ||
| dashboard: | ||
| enabled: true | ||
| path: "docs/features" | ||
| update_readme: true | ||
| generate_changelog: true | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| name: CrowdCode - Branch Visibility | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - 'crowdcode/feature-*' | ||
| pull_request: | ||
| types: [opened, closed, reopened] | ||
| schedule: | ||
| - cron: '0 0 * * 0' # Weekly on Sunday | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| update-dashboard: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 # Need all branches | ||
|
|
||
| - name: Setup Python | ||
| uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: '3.11' | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| pip install PyGithub pyyaml | ||
|
|
||
| - name: Generate Feature Dashboard | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| GITHUB_REPOSITORY: ${{ github.repository }} | ||
| run: | | ||
| mkdir -p docs/features | ||
| python scripts/generate-dashboard.py | ||
|
|
||
| - name: Commit Dashboard Updates | ||
| run: | | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "github-actions[bot]@users.noreply.github.com" | ||
| git add docs/features/ | ||
| if git diff --staged --quiet; then | ||
| echo "No changes to commit" | ||
| else | ||
| git commit -m "Update feature dashboard [skip ci]" | ||
| git push | ||
| fi | ||
|
|
||
| - name: Summary | ||
| run: | | ||
| echo "## CrowdCode Branch Visibility Summary" >> $GITHUB_STEP_SUMMARY | ||
| echo "" >> $GITHUB_STEP_SUMMARY | ||
| echo "Feature dashboard updated." >> $GITHUB_STEP_SUMMARY |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| name: CrowdCode - Feature Promotion | ||
|
|
||
| on: | ||
| schedule: | ||
| - cron: '0 6 * * *' # Daily at 6 AM UTC | ||
| workflow_dispatch: | ||
| inputs: | ||
| dry_run: | ||
| description: 'Dry run mode (no actual changes)' | ||
| required: false | ||
| default: 'false' | ||
| type: boolean | ||
|
|
||
| permissions: | ||
| pull-requests: write | ||
| contents: write | ||
| issues: write | ||
|
|
||
| jobs: | ||
| promote-features: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 # Full history for merging | ||
|
|
||
| - name: Setup Python | ||
| uses: actions/setup-python@v4 | ||
| with: | ||
| python-version: '3.11' | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| pip install PyGithub pyyaml | ||
|
|
||
| - name: Promote Features | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| GITHUB_REPOSITORY: ${{ github.repository }} | ||
| DRY_RUN: ${{ github.event.inputs.dry_run || 'false' }} | ||
| run: | | ||
| python scripts/promote-feature.py | ||
|
|
||
| - name: Summary | ||
| run: | | ||
| echo "## CrowdCode Feature Promotion Summary" >> $GITHUB_STEP_SUMMARY | ||
| echo "" >> $GITHUB_STEP_SUMMARY | ||
| echo "Feature promotion completed. Check script output for details." >> $GITHUB_STEP_SUMMARY |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The voting configuration lists "heart" and "thinking_face" as valid reactions, but these aren't mentioned in the documentation or PR description templates. The docs and templates only show 👍👎👀 (thumbsup, thumbsdown, eyes). This inconsistency could confuse users about which reactions count. Either remove these from the config or document them properly.