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
107 changes: 107 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Bug Report
description: Report a reproducible problem with XcodeBazelMCP.
title: "[Bug] - "
labels:
- bug
body:
- type: markdown
attributes:
value: |
Thanks for reporting a bug. Include enough detail for someone to reproduce it in a Bazel Apple workspace.

- type: dropdown
id: workflow
attributes:
label: Affected workflow
description: Pick the closest workflow area.
options:
- MCP server/tools
- CLI commands or parsers
- Bazel build/test/discovery
- Simulator workflows
- Physical device workflows
- UI automation, screenshots, video, logs, or deep links
- LLDB debugging
- macOS, tvOS, watchOS, or visionOS workflows
- Swift Package Manager
- Daemon, session defaults, config, doctor, or setup
- Project scaffolding
- CI, release, packaging, or dependencies
- Other
validations:
required: true

- type: textarea
id: command
attributes:
label: Command or MCP tool
description: Paste the exact CLI command, MCP tool call, or client action that fails.
render: sh
placeholder: xcodebazelmcp build //app:app --simulator
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction steps
description: List the smallest set of steps needed to trigger the problem.
placeholder: |
1. Configure workspace with ...
2. Run ...
3. Observe ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
description: What should have happened?
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
description: What happened instead? Include error output, stack traces, or logs.
render: text
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Include the versions and setup details relevant to the failure.
value: |
- XcodeBazelMCP version:
- Install method: npm / npx / source
- macOS version:
- Xcode version:
- Node.js version:
- Bazel or Bazelisk version:
- MCP client:
- Workspace config: env var / config file / CLI flag / runtime tool
validations:
required: true

- type: textarea
id: target
attributes:
label: Target, platform, and device details
description: Fill in whatever applies to this issue.
value: |
- Bazel target:
- Platform: simulator / device / macOS / tvOS / watchOS / visionOS / SwiftPM
- Simulator name and runtime:
- Physical device model and iOS version:
- Bundle identifier:

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add links, screenshots, recordings, sample targets, or related issues.

9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
blank_issues_enabled: true
contact_links:
- name: Documentation
url: https://github.com/XcodeBazelMCP/XcodeBazelMCP/tree/main/docs
about: Check workflow-specific docs before opening an issue.
- name: README
url: https://github.com/XcodeBazelMCP/XcodeBazelMCP#readme
about: Review installation, MCP setup, workspace configuration, and CLI examples.

90 changes: 90 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Feature Request
description: Propose a new workflow, command, MCP tool, or behavior change.
title: "[Feature] - "
labels:
- enhancement
body:
- type: markdown
attributes:
value: |
Use this for new capabilities or changes to existing behavior. For broken behavior, open a bug report instead.

- type: dropdown
id: workflow
attributes:
label: Workflow area
description: Pick the closest workflow area.
options:
- MCP server/tools
- CLI commands or parsers
- Bazel build/test/discovery
- Simulator workflows
- Physical device workflows
- UI automation, screenshots, video, logs, or deep links
- LLDB debugging
- macOS, tvOS, watchOS, or visionOS workflows
- Swift Package Manager
- Daemon, session defaults, config, doctor, or setup
- Project scaffolding
- CI, release, packaging, or dependencies
- Docs, examples, or agent skills
- Other
validations:
required: true

- type: textarea
id: problem
attributes:
label: Problem
description: What are you trying to do that XcodeBazelMCP does not support well today?
placeholder: I want to ...
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: Describe the command, MCP tool, workflow, output, or API shape you want.
placeholder: Add a tool/command that ...
validations:
required: true

- type: textarea
id: examples
attributes:
label: Example usage
description: Show what the UX should look like when possible.
render: sh
placeholder: xcodebazelmcp ...

- type: checkboxes
id: impact
attributes:
label: Compatibility impact
description: Check anything this proposal would likely affect.
options:
- label: Adds, removes, or renames MCP tools
- label: Changes CLI flags, command output, exit codes, or streaming behavior
- label: Changes config files, environment variables, defaults, or profiles
- label: Changes generated project scaffolding
- label: Changes package contents, dependencies, Node support, or release behavior
- label: Requires updates to docs, README, manifests, schemas, or skills

- type: textarea
id: environment
attributes:
label: Environment or target context
description: Include details that make the request easier to evaluate.
value: |
- Platform: simulator / device / macOS / tvOS / watchOS / visionOS / SwiftPM
- Bazel target shape:
- Xcode or Apple platform version:
- MCP client:

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: What workaround or design have you considered?

55 changes: 55 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## Summary

<!-- What changed and why? Keep this reviewer-focused. -->

-

## Scope

<!-- Check the areas touched by this PR. -->

- [ ] MCP server/tools
- [ ] CLI commands or parsers
- [ ] Bazel build/test/discovery
- [ ] Simulator workflows
- [ ] Physical device workflows
- [ ] UI automation, screenshots, video, logs, or deep links
- [ ] LLDB debugging
- [ ] macOS, tvOS, watchOS, or visionOS workflows
- [ ] Swift Package Manager
- [ ] Daemon, session defaults, config, doctor, or setup
- [ ] Project scaffolding
- [ ] Docs, examples, or agent skills
- [ ] CI, release, packaging, or dependencies

## Validation

<!-- Check what you ran. Leave unchecked with a short note when not applicable. -->

- [ ] `npm run lint`
- [ ] `npm run typecheck`
- [ ] `npm test`
- [ ] `npm run build`
- [ ] `npx vitest --run --coverage`
- [ ] Manual MCP validation with Cursor or another MCP client
- [ ] Manual CLI validation with `xcodebazelmcp ...`
- [ ] Bazel workspace validation against a real Apple target
- [ ] Simulator validation
- [ ] Physical device validation

## Compatibility

<!-- Call out behavior changes that users, agents, or downstream automation need to know about. -->

- [ ] Adds, removes, or renames MCP tools
- [ ] Changes CLI flags, command output, exit codes, or streaming behavior
- [ ] Changes config files, environment variables, defaults, or profiles
- [ ] Changes generated project scaffolding
- [ ] Changes package contents, dependencies, Node support, or release behavior
- [ ] Requires updates to docs, README, manifests, schemas, or skills
- [ ] No compatibility impact

## Notes For Reviewers

<!-- Include screenshots, logs, sample commands, target names, simulator/device info, or known follow-ups. -->

Loading