Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3d55cff84 | ||
|
|
c6051a0b8a | ||
|
|
04cb5f00d4 | ||
|
|
e924a73625 | ||
|
|
e642acaea4 |
@@ -47,40 +47,12 @@ When working on 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.
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
- **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
|
||||
@@ -100,8 +72,6 @@ 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.
|
||||
|
||||
Please be respectful to maintainers and disclose AI assistance.
|
||||
|
||||
## Resources
|
||||
|
||||
- [Spec-Driven Development Methodology](./spec-driven.md)
|
||||
|
||||
@@ -80,7 +80,7 @@ fi
|
||||
FEATURE_DIR="$SPECS_DIR/$BRANCH_NAME"
|
||||
mkdir -p "$FEATURE_DIR"
|
||||
|
||||
TEMPLATE="$REPO_ROOT/templates/spec-template.md"
|
||||
TEMPLATE="$REPO_ROOT/.specify/templates/spec-template.md"
|
||||
SPEC_FILE="$FEATURE_DIR/spec.md"
|
||||
if [ -f "$TEMPLATE" ]; then cp "$TEMPLATE" "$SPEC_FILE"; else touch "$SPEC_FILE"; fi
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ if ($hasGit) {
|
||||
$featureDir = Join-Path $specsDir $branchName
|
||||
New-Item -ItemType Directory -Path $featureDir -Force | Out-Null
|
||||
|
||||
$template = Join-Path $repoRoot 'templates/spec-template.md'
|
||||
$template = Join-Path $repoRoot '.specify/templates/spec-template.md'
|
||||
$specFile = Join-Path $featureDir 'spec.md'
|
||||
if (Test-Path $template) {
|
||||
Copy-Item $template $specFile -Force
|
||||
|
||||
@@ -1058,27 +1058,18 @@ def init(
|
||||
step_num += 1
|
||||
|
||||
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.2 [cyan]/specify[/] - Create baseline specification")
|
||||
steps_lines.append(" 2.3 [cyan]/plan[/] - Create implementation plan")
|
||||
steps_lines.append(" 2.4 [cyan]/tasks[/] - Generate actionable tasks")
|
||||
steps_lines.append(" 2.5 [cyan]/implement[/] - Execute implementation")
|
||||
steps_lines.append(" 2.2 [cyan]/specify[/] - Create specifications")
|
||||
steps_lines.append(" 2.3 [cyan]/clarify[/] - Clarify and de-risk specification (run before [cyan]/plan[/cyan])")
|
||||
steps_lines.append(" 2.4 [cyan]/plan[/] - Create implementation plans")
|
||||
steps_lines.append(" 2.5 [cyan]/tasks[/] - Generate actionable tasks")
|
||||
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))
|
||||
console.print()
|
||||
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":
|
||||
warning_text = """[bold yellow]Important Note:[/bold yellow]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user