Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f3e450cd8 | ||
|
|
f1ddf33ac4 | ||
|
|
f1063321c6 | ||
|
|
62f20c601c | ||
|
|
26645103a6 |
@@ -47,12 +47,40 @@ When working on spec-kit:
|
|||||||
|
|
||||||
## AI contributions in Spec Kit
|
## AI contributions in Spec Kit
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
>
|
||||||
|
> If you are using **any kind of AI assistance** to contribute to Spec Kit,
|
||||||
|
> it must be disclosed in the pull request or issue.
|
||||||
|
|
||||||
We welcome and encourage the use of AI tools to help improve Spec Kit! Many valuable contributions have been enhanced with AI assistance for code generation, issue detection, and feature definition.
|
We welcome and encourage the use of AI tools to help improve Spec Kit! Many valuable contributions have been enhanced with AI assistance for code generation, issue detection, and feature definition.
|
||||||
|
|
||||||
|
That being said, if you are using any kind of AI assistance (e.g., agents, ChatGPT) while contributing to Spec Kit,
|
||||||
|
**this must be disclosed in the pull request or issue**, along with the extent to which AI assistance was used (e.g., documentation comments vs. code generation).
|
||||||
|
|
||||||
|
If your PR responses or comments are being generated by an AI, disclose that as well.
|
||||||
|
|
||||||
|
As an exception, trivial spacing or typo fixes don't need to be disclosed, so long as the changes are limited to small parts of the code or short phrases.
|
||||||
|
|
||||||
|
An example disclosure:
|
||||||
|
|
||||||
|
> This PR was written primarily by GitHub Copilot.
|
||||||
|
|
||||||
|
Or a more detailed disclosure:
|
||||||
|
|
||||||
|
> I consulted ChatGPT to understand the codebase but the solution
|
||||||
|
> was fully authored manually by myself.
|
||||||
|
|
||||||
|
Failure to disclose this is first and foremost rude to the human operators on the other end of the pull request, but it also makes it difficult to
|
||||||
|
determine how much scrutiny to apply to the contribution.
|
||||||
|
|
||||||
|
In a perfect world, AI assistance would produce equal or higher quality work than any human. That isn't the world we live in today, and in most cases
|
||||||
|
where human supervision or expertise is not in the loop, it's generating code that cannot be reasonably maintained or evolved.
|
||||||
|
|
||||||
### What we're looking for
|
### What we're looking for
|
||||||
|
|
||||||
When submitting AI-assisted contributions, please ensure they include:
|
When submitting AI-assisted contributions, please ensure they include:
|
||||||
|
|
||||||
|
- **Clear disclosure of AI use** - You are transparent about AI use and degree to which you're using it for the contribution
|
||||||
- **Human understanding and testing** - You've personally tested the changes and understand what they do
|
- **Human understanding and testing** - You've personally tested the changes and understand what they do
|
||||||
- **Clear rationale** - You can explain why the change is needed and how it fits within Spec Kit's goals
|
- **Clear rationale** - You can explain why the change is needed and how it fits within Spec Kit's goals
|
||||||
- **Concrete evidence** - Include test cases, scenarios, or examples that demonstrate the improvement
|
- **Concrete evidence** - Include test cases, scenarios, or examples that demonstrate the improvement
|
||||||
@@ -72,6 +100,8 @@ The key is demonstrating that you understand and have validated your proposed ch
|
|||||||
|
|
||||||
Contributors who consistently submit low-effort AI-generated changes may be restricted from further contributions at the maintainers' discretion.
|
Contributors who consistently submit low-effort AI-generated changes may be restricted from further contributions at the maintainers' discretion.
|
||||||
|
|
||||||
|
Please be respectful to maintainers and disclose AI assistance.
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
- [Spec-Driven Development Methodology](./spec-driven.md)
|
- [Spec-Driven Development Methodology](./spec-driven.md)
|
||||||
|
|||||||
@@ -377,8 +377,7 @@ At this stage, your project folder contents should resemble the following:
|
|||||||
|
|
||||||
```text
|
```text
|
||||||
├── memory
|
├── memory
|
||||||
│ ├── constitution.md
|
│ └── constitution.md
|
||||||
│ └── constitution_update_checklist.md
|
|
||||||
├── scripts
|
├── scripts
|
||||||
│ ├── check-prerequisites.sh
|
│ ├── check-prerequisites.sh
|
||||||
│ ├── common.sh
|
│ ├── common.sh
|
||||||
@@ -438,8 +437,7 @@ The output of this step will include a number of implementation detail documents
|
|||||||
.
|
.
|
||||||
├── CLAUDE.md
|
├── CLAUDE.md
|
||||||
├── memory
|
├── memory
|
||||||
│ ├── constitution.md
|
│ └── constitution.md
|
||||||
│ └── constitution_update_checklist.md
|
|
||||||
├── scripts
|
├── scripts
|
||||||
│ ├── check-prerequisites.sh
|
│ ├── check-prerequisites.sh
|
||||||
│ ├── common.sh
|
│ ├── common.sh
|
||||||
|
|||||||
@@ -1058,18 +1058,27 @@ def init(
|
|||||||
step_num += 1
|
step_num += 1
|
||||||
|
|
||||||
steps_lines.append(f"{step_num}. Start using slash commands with your AI agent:")
|
steps_lines.append(f"{step_num}. Start using slash commands with your AI agent:")
|
||||||
|
|
||||||
steps_lines.append(" 2.1 [cyan]/constitution[/] - Establish project principles")
|
steps_lines.append(" 2.1 [cyan]/constitution[/] - Establish project principles")
|
||||||
steps_lines.append(" 2.2 [cyan]/specify[/] - Create specifications")
|
steps_lines.append(" 2.2 [cyan]/specify[/] - Create baseline specification")
|
||||||
steps_lines.append(" 2.3 [cyan]/clarify[/] - Clarify and de-risk specification (run before [cyan]/plan[/cyan])")
|
steps_lines.append(" 2.3 [cyan]/plan[/] - Create implementation plan")
|
||||||
steps_lines.append(" 2.4 [cyan]/plan[/] - Create implementation plans")
|
steps_lines.append(" 2.4 [cyan]/tasks[/] - Generate actionable tasks")
|
||||||
steps_lines.append(" 2.5 [cyan]/tasks[/] - Generate actionable tasks")
|
steps_lines.append(" 2.5 [cyan]/implement[/] - Execute implementation")
|
||||||
steps_lines.append(" 2.6 [cyan]/analyze[/] - Validate alignment & surface inconsistencies (read-only)")
|
|
||||||
steps_lines.append(" 2.7 [cyan]/implement[/] - Execute implementation")
|
|
||||||
|
|
||||||
steps_panel = Panel("\n".join(steps_lines), title="Next Steps", border_style="cyan", padding=(1,2))
|
steps_panel = Panel("\n".join(steps_lines), title="Next Steps", border_style="cyan", padding=(1,2))
|
||||||
console.print()
|
console.print()
|
||||||
console.print(steps_panel)
|
console.print(steps_panel)
|
||||||
|
|
||||||
|
enhancement_lines = [
|
||||||
|
"Optional commands that you can use for your specs (improve quality & confidence)[/bright_black]",
|
||||||
|
"",
|
||||||
|
f"○ [cyan]/clarify[/] [bright_black](optional)[/bright_black] - Ask structured questions to de-risk ambiguous areas before planning (run before [cyan]/plan[/] if used)",
|
||||||
|
f"○ [cyan]/analyze[/] [bright_black](optional)[/bright_black] - Cross-artifact consistency & alignment report (after [cyan]/tasks[/], before [cyan]/implement[/])"
|
||||||
|
]
|
||||||
|
enhancements_panel = Panel("\n".join(enhancement_lines), title="Enhancement Commands", border_style="cyan", padding=(1,2))
|
||||||
|
console.print()
|
||||||
|
console.print(enhancements_panel)
|
||||||
|
|
||||||
if selected_ai == "codex":
|
if selected_ai == "codex":
|
||||||
warning_text = """[bold yellow]Important Note:[/bold yellow]
|
warning_text = """[bold yellow]Important Note:[/bold yellow]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user