Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Bug Report
description: Report a bug in JuntoAI A2A
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out the fields below so we can reproduce and fix the issue.

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
placeholder: Tell us what happened...
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: Step-by-step instructions to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What did you expect to happen?
placeholder: Describe what should have happened...
validations:
required: true

- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: What actually happened instead?
placeholder: Describe what actually happened...
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating System
description: Which OS are you running on?
options:
- macOS
- Windows
- Linux
validations:
required: true

- type: textarea
id: docker-version
attributes:
label: Docker version
description: "Run `docker --version` and `docker compose version` and paste the output."
placeholder: "Docker version 24.0.7, Docker Compose v2.24.0"
validations:
required: true

- type: textarea
id: llm-provider
attributes:
label: LLM provider
description: Which LLM provider are you using? (e.g., OpenAI, Anthropic, Ollama, Vertex AI)
placeholder: "e.g., OpenAI with gpt-4o"
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Community Chat (WhatsApp)
url: https://chat.whatsapp.com/CZblOXj7aV3LMSKCwSUxWR
about: Ask questions and coordinate with other contributors in our WhatsApp community.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature Request
description: Suggest a new feature for JuntoAI A2A
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature! Please fill out the fields below so we can understand your idea and evaluate it.

- type: textarea
id: description
attributes:
label: Describe the feature
description: A clear and concise description of the feature you'd like to see.
placeholder: Tell us about the feature...
validations:
required: true

- type: textarea
id: problem
attributes:
label: Problem it solves
description: What problem does this feature solve? Why is it needed?
placeholder: Describe the problem or pain point this feature addresses...
validations:
required: true

- type: textarea
id: proposed-solution
attributes:
label: Proposed solution
description: How should this feature work? Describe your ideal implementation.
placeholder: Describe how you think this feature should work...
validations:
required: true
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Description

<!-- Describe the changes you've made and why -->

## Related Issues

<!-- Link related issues: Closes #XX or Relates to #XX -->

## Type of Change

- [ ] Bug fix
- [ ] Feature
- [ ] Scenario config
- [ ] Documentation
- [ ] Other (describe below)

## Checklist

- [ ] Tests pass locally (`cd backend && pytest --cov=app --cov-fail-under=70` and `cd frontend && npx vitest run --coverage`)
- [ ] Coverage meets the 70% threshold
- [ ] Code follows existing patterns and conventions
- [ ] I have read [CONTRIBUTING.md](../CONTRIBUTING.md)
43 changes: 43 additions & 0 deletions .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: PR Tests

on:
pull_request:
branches: [main]
types: [opened, synchronize, reopened]

jobs:
backend-tests:
name: Backend Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: pip install -r requirements.txt
working-directory: backend

- name: Run tests with coverage
run: pytest --cov=app --cov-fail-under=70
working-directory: backend

frontend-tests:
name: Frontend Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: npm ci
working-directory: frontend

- name: Run tests with coverage
run: npx vitest run --coverage
working-directory: frontend
26 changes: 13 additions & 13 deletions .kiro/specs/160_developer-community/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@ Create the static files (markdown, YAML) that transform the JuntoAI A2A repo int

## Tasks

- [ ] 1. Create CODE_OF_CONDUCT.md
- [x] 1. Create CODE_OF_CONDUCT.md
- Create `CODE_OF_CONDUCT.md` at the monorepo root based on Contributor Covenant v2.1
- Include the full standard text: Pledge, Standards, Responsibilities, Scope, Enforcement, Attribution
- Set enforcement contact to placeholder `conduct@juntoai.org` with a TODO comment to replace
- Define scope as all community spaces: GitHub issues, PRs, discussions, and WhatsApp community channel
- _Requirements: 3.1, 3.2, 3.3, 3.4_

- [ ] 2. Create CONTRIBUTING.md
- [ ] 2.1 Create CONTRIBUTING.md with welcome, workflow, and setup sections
- [x] 2. Create CONTRIBUTING.md
- [x] 2.1 Create CONTRIBUTING.md with welcome, workflow, and setup sections
- Create `CONTRIBUTING.md` at the monorepo root
- Welcome section linking to Code of Conduct
- Fork-and-PR workflow: fork, clone, create `feature/*` branch from `main`, push to fork, open PR to `upstream/main`
- Local development setup: prerequisites (Docker, Docker Compose v2.24+, Python 3.11, Node.js 20), `docker compose up`, independent test commands
- Exact test commands: `cd backend && pytest --cov=app --cov-fail-under=70` and `cd frontend && npx vitest run --coverage`
- _Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 2.9_

- [ ] 2.2 Add contribution types, labels, branch protection, and community sections
- [x] 2.2 Add contribution types, labels, branch protection, and community sections
- Types of contributions: scenario configs (JSON-only), bug fixes, feature proposals, documentation, agent strategies
- Scenario contribution workflow: drop JSON in `backend/app/scenarios/data/`, no code changes
- PR process: CI pipeline must pass, 70% coverage enforced
Expand All @@ -31,7 +31,7 @@ Create the static files (markdown, YAML) that transform the JuntoAI A2A repo int
- Community section: WhatsApp link (placeholder URL), Code of Conduct link
- _Requirements: 2.5, 2.6, 2.7, 2.8, 2.9, 6.1, 6.2, 6.3, 8.2, 9.1, 9.2, 9.3_

- [ ] 3. Create GitHub Actions PR CI pipeline
- [x] 3. Create GitHub Actions PR CI pipeline
- Create `.github/workflows/pr-tests.yml`
- Trigger on `pull_request` events (opened, synchronize, reopened) targeting `main`
- Define two parallel jobs (no `needs` dependency): `backend-tests` and `frontend-tests`
Expand All @@ -40,37 +40,37 @@ Create the static files (markdown, YAML) that transform the JuntoAI A2A repo int
- No path filtering — all PRs trigger all jobs (Requirement 1.10)
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10_

- [ ] 4. Checkpoint — Verify CI pipeline and docs
- [x] 4. Checkpoint — Verify CI pipeline and docs
- Ensure all files created so far are valid YAML/markdown
- Verify cross-references: CONTRIBUTING.md links to CODE_OF_CONDUCT.md, CONTRIBUTING.md links to WhatsApp placeholder
- Ask the user if questions arise

- [ ] 5. Create GitHub issue templates
- [ ] 5.1 Create bug report issue template
- [x] 5. Create GitHub issue templates
- [x] 5.1 Create bug report issue template
- Create `.github/ISSUE_TEMPLATE/bug-report.yml` using GitHub issue forms YAML format
- Required fields: description (textarea), steps to reproduce (textarea), expected behavior (textarea), actual behavior (textarea), environment info (OS dropdown + Docker version + LLM provider as textarea)
- _Requirements: 4.1, 4.2_

- [ ] 5.2 Create feature request issue template
- [x] 5.2 Create feature request issue template
- Create `.github/ISSUE_TEMPLATE/feature-request.yml` using GitHub issue forms YAML format
- Required fields: description (textarea), problem it solves (textarea), proposed solution (textarea)
- _Requirements: 4.3, 4.4_

- [ ] 5.3 Create issue template config
- [x] 5.3 Create issue template config
- Create `.github/ISSUE_TEMPLATE/config.yml`
- Set `blank_issues_enabled: false`
- Add contact link to WhatsApp community channel (placeholder URL) as alternative contact option
- _Requirements: 4.5, 8.3_

- [ ] 6. Create pull request template
- [x] 6. Create pull request template
- Create `.github/PULL_REQUEST_TEMPLATE.md`
- Description section for changes made
- Related issues section (Closes #XX / Relates to #XX)
- Type of change section with checkboxes: bug fix, feature, scenario config, documentation, other
- Checklist: tests pass locally, coverage meets 70%, code follows existing patterns, contributor has read CONTRIBUTING.md
- _Requirements: 5.1, 5.2, 5.3, 5.4, 5.5_

- [ ] 7. Update README.md community section
- [x] 7. Update README.md community section
- Replace the existing `## 🤝 Contributing` section in `README.md`
- Link to `CONTRIBUTING.md` as primary call to action
- Link to `CODE_OF_CONDUCT.md`
Expand All @@ -80,7 +80,7 @@ Create the static files (markdown, YAML) that transform the JuntoAI A2A repo int
- Retain existing contribution types: scenario configs, bug reports, feature proposals, documentation, agent strategies
- _Requirements: 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 6.4, 8.1, 8.4_

- [ ] 8. Final checkpoint — Cross-reference validation
- [x] 8. Final checkpoint — Cross-reference validation
- Verify all cross-references between documents are correct and use relative links
- Verify WhatsApp placeholder URL appears in: README.md, CONTRIBUTING.md, `.github/ISSUE_TEMPLATE/config.yml`
- Ensure all files created so far are valid
Expand Down
Loading
Loading