diff --git a/.github/ISSUE_TEMPLATE/agent_request.yml b/.github/ISSUE_TEMPLATE/agent_request.yml new file mode 100644 index 000000000..a72dacda5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/agent_request.yml @@ -0,0 +1,141 @@ +name: Agent Request +description: Request support for a new AI agent/assistant in Spec Kit +title: "[Agent]: Add support for " +labels: ["agent-request", "enhancement", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for requesting a new agent! Before submitting, please check if the agent is already supported. + + **Currently supported agents**: Claude Code, Gemini CLI, GitHub Copilot, Cursor, Qwen Code, opencode, Codex CLI, Windsurf, Kilo Code, Auggie CLI, Roo Code, CodeBuddy, Qoder CLI, Amazon Q Developer CLI, Amp, SHAI, IBM Bob, Antigravity + + - type: input + id: agent-name + attributes: + label: Agent Name + description: What is the name of the AI agent/assistant? + placeholder: "e.g., SuperCoder AI" + validations: + required: true + + - type: input + id: website + attributes: + label: Official Website + description: Link to the agent's official website or documentation + placeholder: "https://..." + validations: + required: true + + - type: dropdown + id: agent-type + attributes: + label: Agent Type + description: How is the agent accessed? + options: + - CLI tool (command-line interface) + - IDE extension/plugin + - Both CLI and IDE + - Other + validations: + required: true + + - type: input + id: cli-command + attributes: + label: CLI Command (if applicable) + description: What command is used to invoke the agent from terminal? + placeholder: "e.g., supercode, ai-assistant" + + - type: input + id: install-method + attributes: + label: Installation Method + description: How is the agent installed? + placeholder: "e.g., npm install -g supercode, pip install supercode, IDE marketplace" + validations: + required: true + + - type: textarea + id: command-structure + attributes: + label: Command/Workflow Structure + description: How does the agent define custom commands or workflows? + placeholder: | + - Command file format (Markdown, YAML, TOML, etc.) + - Directory location (e.g., .supercode/commands/) + - Example command file structure + validations: + required: true + + - type: textarea + id: argument-pattern + attributes: + label: Argument Passing Pattern + description: How does the agent handle arguments in commands? + placeholder: | + e.g., Uses {{args}}, $ARGUMENTS, %ARGS%, or other placeholder format + Example: "Run test suite with {{args}}" + + - type: dropdown + id: popularity + attributes: + label: Popularity/Usage + description: How widely is this agent used? + options: + - Widely used (thousands+ of users) + - Growing adoption (hundreds of users) + - New/emerging (less than 100 users) + - Unknown + validations: + required: true + + - type: textarea + id: documentation + attributes: + label: Documentation Links + description: Links to relevant documentation for custom commands/workflows + placeholder: | + - Command documentation: https://... + - API/CLI reference: https://... + - Examples: https://... + + - type: textarea + id: use-case + attributes: + label: Use Case + description: Why do you want this agent supported in Spec Kit? + placeholder: Explain your workflow and how this agent fits into your development process + validations: + required: true + + - type: textarea + id: example-command + attributes: + label: Example Command File + description: If possible, provide an example of a command file for this agent + render: markdown + placeholder: | + ```toml + description = "Example command" + prompt = "Do something with {{args}}" + ``` + + - type: checkboxes + id: contribution + attributes: + label: Contribution + description: Are you willing to help implement support for this agent? + options: + - label: I can help test the integration + - label: I can provide example command files + - label: I can help with documentation + - label: I can submit a pull request for the integration + + - type: textarea + id: context + attributes: + label: Additional Context + description: Any other relevant information about this agent + placeholder: Screenshots, community links, comparison to existing agents, etc. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..20adb6c3f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,118 @@ +name: Bug Report +description: Report a bug or unexpected behavior in Specify CLI or Spec Kit +title: "[Bug]: " +labels: ["bug", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a bug! Please fill out the sections below to help us diagnose and fix the issue. + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear and concise description of what the bug is. + placeholder: What went wrong? + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: Steps to Reproduce + description: Steps to reproduce the behavior + placeholder: | + 1. Run command '...' + 2. Execute script '...' + 3. See error + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? + placeholder: Describe the expected outcome + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + placeholder: Describe what happened instead + validations: + required: true + + - type: input + id: version + attributes: + label: Specify CLI Version + description: "Run `specify --version` or `pip show spec-kit`" + placeholder: "e.g., 1.3.0" + validations: + required: true + + - type: dropdown + id: ai-agent + attributes: + label: AI Agent + description: Which AI agent are you using? + options: + - Claude Code + - Gemini CLI + - GitHub Copilot + - Cursor + - Qwen Code + - opencode + - Codex CLI + - Windsurf + - Kilo Code + - Auggie CLI + - Roo Code + - CodeBuddy + - Qoder CLI + - Amazon Q Developer CLI + - Amp + - SHAI + - IBM Bob + - Antigravity + - Not applicable + validations: + required: true + + - type: input + id: os + attributes: + label: Operating System + description: Your operating system and version + placeholder: "e.g., macOS 14.2, Ubuntu 22.04, Windows 11" + validations: + required: true + + - type: input + id: python + attributes: + label: Python Version + description: "Run `python --version` or `python3 --version`" + placeholder: "e.g., Python 3.11.5" + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Error Logs + description: Please paste any relevant error messages or logs + render: shell + placeholder: Paste error output here + + - type: textarea + id: context + attributes: + label: Additional Context + description: Add any other context about the problem + placeholder: Screenshots, related issues, workarounds attempted, etc. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..c352f8626 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,17 @@ +blank_issues_enabled: false +contact_links: + - name: 💬 General Discussion + url: https://github.com/github/spec-kit/discussions + about: Ask questions, share ideas, or discuss Spec-Driven Development + - name: 📖 Documentation + url: https://github.com/github/spec-kit/blob/main/README.md + about: Read the Spec Kit documentation and guides + - name: 🛠️ Extension Development Guide + url: https://github.com/manfredseee/spec-kit/blob/main/extensions/EXTENSION-DEVELOPMENT-GUIDE.md + about: Learn how to develop and publish Spec Kit extensions + - name: 🤝 Contributing Guide + url: https://github.com/github/spec-kit/blob/main/CONTRIBUTING.md + about: Learn how to contribute to Spec Kit + - name: 🔒 Security Issues + url: https://github.com/github/spec-kit/blob/main/SECURITY.md + about: Report security vulnerabilities privately diff --git a/.github/ISSUE_TEMPLATE/extension_submission.yml b/.github/ISSUE_TEMPLATE/extension_submission.yml new file mode 100644 index 000000000..d298925e7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/extension_submission.yml @@ -0,0 +1,280 @@ +name: Extension Submission +description: Submit your extension to the Spec Kit catalog +title: "[Extension]: Add " +labels: ["extension-submission", "enhancement", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for contributing an extension! This template helps you submit your extension to the community catalog. + + **Before submitting:** + - Review the [Extension Publishing Guide](https://github.com/github/spec-kit/blob/main/extensions/EXTENSION-PUBLISHING-GUIDE.md) + - Ensure your extension has a valid `extension.yml` manifest + - Create a GitHub release with a version tag (e.g., v1.0.0) + - Test installation: `specify extension add --from ` + + - type: input + id: extension-id + attributes: + label: Extension ID + description: Unique extension identifier (lowercase with hyphens only) + placeholder: "e.g., jira-integration" + validations: + required: true + + - type: input + id: extension-name + attributes: + label: Extension Name + description: Human-readable extension name + placeholder: "e.g., Jira Integration" + validations: + required: true + + - type: input + id: version + attributes: + label: Version + description: Semantic version number + placeholder: "e.g., 1.0.0" + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: Brief description of what your extension does (under 200 characters) + placeholder: Integrates Jira issue tracking with Spec Kit workflows for seamless task management + validations: + required: true + + - type: input + id: author + attributes: + label: Author + description: Your name or organization + placeholder: "e.g., John Doe or Acme Corp" + validations: + required: true + + - type: input + id: repository + attributes: + label: Repository URL + description: GitHub repository URL for your extension + placeholder: "https://github.com/your-org/spec-kit-your-extension" + validations: + required: true + + - type: input + id: download-url + attributes: + label: Download URL + description: URL to the GitHub release archive (e.g., v1.0.0.zip) + placeholder: "https://github.com/your-org/spec-kit-your-extension/archive/refs/tags/v1.0.0.zip" + validations: + required: true + + - type: input + id: license + attributes: + label: License + description: Open source license type + placeholder: "e.g., MIT, Apache-2.0" + validations: + required: true + + - type: input + id: homepage + attributes: + label: Homepage (optional) + description: Link to extension homepage or documentation site + placeholder: "https://..." + + - type: input + id: documentation + attributes: + label: Documentation URL (optional) + description: Link to detailed documentation + placeholder: "https://github.com/your-org/spec-kit-your-extension/blob/main/docs/" + + - type: input + id: changelog + attributes: + label: Changelog URL (optional) + description: Link to changelog file + placeholder: "https://github.com/your-org/spec-kit-your-extension/blob/main/CHANGELOG.md" + + - type: input + id: speckit-version + attributes: + label: Required Spec Kit Version + description: Minimum Spec Kit version required + placeholder: "e.g., >=0.1.0" + validations: + required: true + + - type: textarea + id: required-tools + attributes: + label: Required Tools (optional) + description: List any external tools or dependencies required + placeholder: | + - jira-cli (>=1.0.0) - required + - python (>=3.8) - optional + render: markdown + + - type: input + id: commands-count + attributes: + label: Number of Commands + description: How many commands does your extension provide? + placeholder: "e.g., 3" + validations: + required: true + + - type: input + id: hooks-count + attributes: + label: Number of Hooks (optional) + description: How many hooks does your extension provide? + placeholder: "e.g., 0" + + - type: textarea + id: tags + attributes: + label: Tags + description: 2-5 relevant tags (lowercase, separated by commas) + placeholder: "issue-tracking, jira, atlassian, automation" + validations: + required: true + + - type: textarea + id: features + attributes: + label: Key Features + description: List the main features and capabilities of your extension + placeholder: | + - Create Jira issues from specs + - Sync task status with Jira + - Link specs to existing issues + - Generate Jira reports + validations: + required: true + + - type: checkboxes + id: testing + attributes: + label: Testing Checklist + description: Confirm that your extension has been tested + options: + - label: Extension installs successfully via download URL + required: true + - label: All commands execute without errors + required: true + - label: Documentation is complete and accurate + required: true + - label: No security vulnerabilities identified + required: true + - label: Tested on at least one real project + required: true + + - type: checkboxes + id: requirements + attributes: + label: Submission Requirements + description: Verify your extension meets all requirements + options: + - label: Valid `extension.yml` manifest included + required: true + - label: README.md with installation and usage instructions + required: true + - label: LICENSE file included + required: true + - label: GitHub release created with version tag + required: true + - label: All command files exist and are properly formatted + required: true + - label: Extension ID follows naming conventions (lowercase-with-hyphens) + required: true + + - type: textarea + id: testing-details + attributes: + label: Testing Details + description: Describe how you tested your extension + placeholder: | + **Tested on:** + - macOS 14.0 with Spec Kit v0.1.0 + - Linux Ubuntu 22.04 with Spec Kit v0.1.0 + + **Test project:** [Link or description] + + **Test scenarios:** + 1. Installed extension + 2. Configured settings + 3. Ran all commands + 4. Verified outputs + validations: + required: true + + - type: textarea + id: example-usage + attributes: + label: Example Usage + description: Provide a simple example of using your extension + render: markdown + placeholder: | + ```bash + # Install extension + specify extension add --from https://github.com/your-org/spec-kit-your-extension/archive/refs/tags/v1.0.0.zip + + # Use a command + /speckit.your-extension.command-name arg1 arg2 + ``` + validations: + required: true + + - type: textarea + id: catalog-entry + attributes: + label: Proposed Catalog Entry + description: Provide the JSON entry for catalog.json (helps reviewers) + render: json + placeholder: | + { + "your-extension": { + "name": "Your Extension", + "id": "your-extension", + "description": "Brief description", + "author": "Your Name", + "version": "1.0.0", + "download_url": "https://github.com/your-org/spec-kit-your-extension/archive/refs/tags/v1.0.0.zip", + "repository": "https://github.com/your-org/spec-kit-your-extension", + "homepage": "https://github.com/your-org/spec-kit-your-extension", + "license": "MIT", + "requires": { + "speckit_version": ">=0.1.0" + }, + "provides": { + "commands": 3 + }, + "tags": ["category", "tool"], + "verified": false, + "downloads": 0, + "stars": 0, + "created_at": "2026-02-20T00:00:00Z", + "updated_at": "2026-02-20T00:00:00Z" + } + } + validations: + required: true + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Any other information that would help reviewers + placeholder: Screenshots, demo videos, links to related projects, etc. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..71786ddce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,104 @@ +name: Feature Request +description: Suggest a new feature or enhancement for Specify CLI or Spec Kit +title: "[Feature]: " +labels: ["enhancement", "needs-triage"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a feature! Please provide details below to help us understand and evaluate your request. + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: Is your feature request related to a problem? Please describe. + placeholder: "I'm frustrated when..." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: Describe the solution you'd like + placeholder: What would you like to happen? + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: Have you considered any alternative solutions or workarounds? + placeholder: What other approaches might work? + + - type: dropdown + id: component + attributes: + label: Component + description: Which component does this feature relate to? + options: + - Specify CLI (initialization, commands) + - Spec templates (BDD, Testing Strategy, etc.) + - Agent integrations (command files, workflows) + - Scripts (Bash/PowerShell utilities) + - Documentation + - CI/CD workflows + - Other + validations: + required: true + + - type: dropdown + id: ai-agent + attributes: + label: AI Agent (if applicable) + description: Does this feature relate to a specific AI agent? + options: + - All agents + - Claude Code + - Gemini CLI + - GitHub Copilot + - Cursor + - Qwen Code + - opencode + - Codex CLI + - Windsurf + - Kilo Code + - Auggie CLI + - Roo Code + - CodeBuddy + - Qoder CLI + - Amazon Q Developer CLI + - Amp + - SHAI + - IBM Bob + - Antigravity + - Not applicable + + - type: textarea + id: use-cases + attributes: + label: Use Cases + description: Describe specific use cases where this feature would be valuable + placeholder: | + 1. When working on large projects... + 2. During spec review... + 3. When integrating with CI/CD... + + - type: textarea + id: acceptance + attributes: + label: Acceptance Criteria + description: How would you know this feature is complete and working? + placeholder: | + - [ ] Feature does X + - [ ] Documentation is updated + - [ ] Works with all supported agents + + - type: textarea + id: context + attributes: + label: Additional Context + description: Add any other context, screenshots, or examples + placeholder: Links to similar features, mockups, related discussions, etc.