WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit c46b0d6

Browse files
authored
Merge branch 'main' into update-user-guide-docs
2 parents 8202820 + 79328aa commit c46b0d6

27 files changed

+256
-176
lines changed

.github/workflows/lint.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Lint
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
8+
jobs:
9+
markdownlint:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Run markdownlint-cli2
16+
uses: DavidAnson/markdownlint-cli2-action@v19
17+
with:
18+
globs: '**/*.md'

.markdownlint-cli2.jsonc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
// https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
3+
"config": {
4+
"default": true,
5+
"MD003": {
6+
"style": "atx"
7+
},
8+
"MD007": {
9+
"indent": 2
10+
},
11+
"MD013": false,
12+
"MD024": {
13+
"siblings_only": true
14+
},
15+
"MD033": false,
16+
"MD041": false,
17+
"MD049": {
18+
"style": "asterisk"
19+
},
20+
"MD050": {
21+
"style": "asterisk"
22+
}
23+
}
24+
}

AGENTS.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,14 @@ AGENT_CONFIG = {
6868
```
6969

7070
**Key Design Principle**: The dictionary key should match the actual executable name that users install. For example:
71+
7172
- ✅ Use `"cursor-agent"` because the CLI tool is literally called `cursor-agent`
7273
- ❌ Don't use `"cursor"` as a shortcut if the tool is `cursor-agent`
7374

7475
This eliminates the need for special-case mappings throughout the codebase.
7576

7677
**Field Explanations**:
78+
7779
- `name`: Human-readable display name shown to users
7880
- `folder`: Directory where agent-specific files are stored (relative to project root)
7981
- `install_url`: Installation documentation URL (set to `None` for IDE-based agents)
@@ -102,12 +104,14 @@ Update the **Supported AI Agents** section in `README.md` to include the new age
102104

103105
Modify `.github/workflows/scripts/create-release-packages.sh`:
104106

105-
##### Add to ALL_AGENTS array:
107+
##### Add to ALL_AGENTS array
108+
106109
```bash
107110
ALL_AGENTS=(claude gemini copilot cursor-agent qwen opencode windsurf q)
108111
```
109112

110-
##### Add case statement for directory structure:
113+
##### Add case statement for directory structure
114+
111115
```bash
112116
case $agent in
113117
# ... existing cases ...
@@ -131,14 +135,16 @@ gh release create "$VERSION" \
131135

132136
#### 5. Update Agent Context Scripts
133137

134-
##### Bash script (`scripts/bash/update-agent-context.sh`):
138+
##### Bash script (`scripts/bash/update-agent-context.sh`)
135139

136140
Add file variable:
141+
137142
```bash
138143
WINDSURF_FILE="$REPO_ROOT/.windsurf/rules/specify-rules.md"
139144
```
140145

141146
Add to case statement:
147+
142148
```bash
143149
case "$AGENT_TYPE" in
144150
# ... existing cases ...
@@ -151,14 +157,16 @@ case "$AGENT_TYPE" in
151157
esac
152158
```
153159

154-
##### PowerShell script (`scripts/powershell/update-agent-context.ps1`):
160+
##### PowerShell script (`scripts/powershell/update-agent-context.ps1`)
155161

156162
Add file variable:
163+
157164
```powershell
158165
$windsurfFile = Join-Path $repoRoot '.windsurf/rules/specify-rules.md'
159166
```
160167

161168
Add to switch statement:
169+
162170
```powershell
163171
switch ($AgentType) {
164172
# ... existing cases ...
@@ -200,13 +208,15 @@ elif selected_ai == "windsurf":
200208
**CRITICAL**: When adding a new agent to AGENT_CONFIG, always use the **actual executable name** as the dictionary key, not a shortened or convenient version.
201209

202210
**Why this matters:**
211+
203212
- The `check_tool()` function uses `shutil.which(tool)` to find executables in the system PATH
204213
- If the key doesn't match the actual CLI tool name, you'll need special-case mappings throughout the codebase
205214
- This creates unnecessary complexity and maintenance burden
206215

207216
**Example - The Cursor Lesson:**
208217

209218
**Wrong approach** (requires special-case mapping):
219+
210220
```python
211221
AGENT_CONFIG = {
212222
"cursor": { # Shorthand that doesn't match the actual tool
@@ -222,6 +232,7 @@ if agent_key == "cursor":
222232
```
223233

224234
**Correct approach** (no mapping needed):
235+
225236
```python
226237
AGENT_CONFIG = {
227238
"cursor-agent": { # Matches the actual executable name
@@ -234,6 +245,7 @@ AGENT_CONFIG = {
234245
```
235246

236247
**Benefits of this approach:**
248+
237249
- Eliminates special-case logic scattered throughout the codebase
238250
- Makes the code more maintainable and easier to understand
239251
- Reduces the chance of bugs when adding new agents
@@ -289,6 +301,7 @@ echo "✅ Done"
289301
### CLI-Based Agents
290302

291303
Require a command-line tool to be installed:
304+
292305
- **Claude Code**: `claude` CLI
293306
- **Gemini CLI**: `gemini` CLI
294307
- **Cursor**: `cursor-agent` CLI
@@ -298,13 +311,16 @@ Require a command-line tool to be installed:
298311
- **CodeBuddy CLI**: `codebuddy` CLI
299312

300313
### IDE-Based Agents
314+
301315
Work within integrated development environments:
316+
302317
- **GitHub Copilot**: Built into VS Code/compatible editors
303318
- **Windsurf**: Built into Windsurf IDE
304319

305320
## Command File Formats
306321

307322
### Markdown Format
323+
308324
Used by: Claude, Cursor, opencode, Windsurf, Amazon Q Developer
309325

310326
```markdown
@@ -316,6 +332,7 @@ Command content with {SCRIPT} and $ARGUMENTS placeholders.
316332
```
317333

318334
### TOML Format
335+
319336
Used by: Gemini, Qwen
320337

321338
```toml
@@ -337,6 +354,7 @@ Command content with {SCRIPT} and {{args}} placeholders.
337354
## Argument Patterns
338355

339356
Different agents use different argument placeholders:
357+
340358
- **Markdown/prompt-based**: `$ARGUMENTS`
341359
- **TOML-based**: `{{args}}`
342360
- **Script placeholders**: `{SCRIPT}` (replaced with actual script path)
@@ -372,4 +390,3 @@ When adding new agents:
372390
---
373391

374392
*This documentation should be updated whenever new agents are added to maintain accuracy and completeness.*
375-

CHANGELOG.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6363

6464
- New `/clarify` command template to surface up to 5 targeted clarification questions for an existing spec and persist answers into a Clarifications section in the spec.
6565
- New `/analyze` command template providing a non-destructive cross-artifact discrepancy and alignment report (spec, clarifications, plan, tasks, constitution) inserted after `/tasks` and before `/implement`.
66-
- Note: Constitution rules are explicitly treated as non-negotiable; any conflict is a CRITICAL finding requiring artifact remediation, not weakening of principles.
66+
- Note: Constitution rules are explicitly treated as non-negotiable; any conflict is a CRITICAL finding requiring artifact remediation, not weakening of principles.
6767

6868
## [0.0.16] - 2025-09-22
6969

@@ -140,7 +140,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
140140
- Updated command instructions in the CLI.
141141
- Cleaned up the code to not render agent-specific information when it's generic.
142142

143-
144143
## [0.0.6] - 2025-09-17
145144

146145
### Added
@@ -166,4 +165,3 @@ N/A
166165
### Changed
167166

168167
N/A
169-

CODE_OF_CONDUCT.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ orientation.
1414
Examples of behavior that contributes to creating a positive environment
1515
include:
1616

17-
* Using welcoming and inclusive language
18-
* Being respectful of differing viewpoints and experiences
19-
* Gracefully accepting constructive criticism
20-
* Focusing on what is best for the community
21-
* Showing empathy towards other community members
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
2222

2323
Examples of unacceptable behavior by participants include:
2424

25-
* The use of sexualized language or imagery and unwelcome sexual attention or
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
2626
advances
27-
* Trolling, insulting/derogatory comments, and personal or political attacks
28-
* Public or private harassment
29-
* Publishing others' private information, such as a physical or electronic
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
3030
address, without explicit permission
31-
* Other conduct which could reasonably be considered inappropriate in a
31+
- Other conduct which could reasonably be considered inappropriate in a
3232
professional setting
3333

3434
## Our Responsibilities

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## Contributing to Spec Kit
1+
# Contributing to Spec Kit
22

33
Hi there! We're thrilled that you'd like to contribute to Spec Kit. Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE).
44

README.md

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div align="center">
2-
<img src="./media/logo_small.webp"/>
2+
<img src="./media/logo_small.webp" alt="Spec Kit Logo"/>
33
<h1>🌱 Spec Kit</h1>
44
<h3><em>Build high-quality software faster.</em></h3>
55
</div>
@@ -253,7 +253,7 @@ Additional commands for enhanced quality and validation:
253253

254254
Spec-Driven Development is a structured process that emphasizes:
255255

256-
- **Intent-driven development** where specifications define the "_what_" before the "_how_"
256+
- **Intent-driven development** where specifications define the "*what*" before the "*how*"
257257
- **Rich specification creation** using guardrails and organizational principles
258258
- **Multi-step refinement** rather than one-shot code generation from prompts
259259
- **Heavy reliance** on advanced AI model capabilities for specification interpretation
@@ -383,7 +383,7 @@ This step creates or updates the `.specify/memory/constitution.md` file with you
383383
With your project principles established, you can now create the functional specifications. Use the `/speckit.specify` command and then provide the concrete requirements for the project you want to develop.
384384

385385
>[!IMPORTANT]
386-
>Be as explicit as possible about _what_ you are trying to build and _why_. **Do not focus on the tech stack at this point**.
386+
>Be as explicit as possible about *what* you are trying to build and *why*. **Do not focus on the tech stack at this point**.
387387
388388
An example prompt:
389389

@@ -417,16 +417,16 @@ At this stage, your project folder contents should resemble the following:
417417
```text
418418
└── .specify
419419
├── memory
420-
└── constitution.md
420+
└── constitution.md
421421
├── scripts
422-
├── check-prerequisites.sh
423-
├── common.sh
424-
├── create-new-feature.sh
425-
├── setup-plan.sh
426-
└── update-claude-md.sh
422+
├── check-prerequisites.sh
423+
├── common.sh
424+
├── create-new-feature.sh
425+
├── setup-plan.sh
426+
└── update-claude-md.sh
427427
├── specs
428-
└── 001-create-taskify
429-
└── spec.md
428+
└── 001-create-taskify
429+
└── spec.md
430430
└── templates
431431
├── plan-template.md
432432
├── spec-template.md
@@ -440,6 +440,7 @@ With the baseline specification created, you can go ahead and clarify any of the
440440
You should run the structured clarification workflow **before** creating a technical plan to reduce rework downstream.
441441

442442
Preferred order:
443+
443444
1. Use `/speckit.clarify` (structured) – sequential, coverage-based questioning that records answers in a Clarifications section.
444445
2. Optionally follow up with ad-hoc free-form refinement if something still feels vague.
445446

@@ -477,23 +478,23 @@ The output of this step will include a number of implementation detail documents
477478
.
478479
├── CLAUDE.md
479480
├── memory
480-
└── constitution.md
481+
└── constitution.md
481482
├── scripts
482-
├── check-prerequisites.sh
483-
├── common.sh
484-
├── create-new-feature.sh
485-
├── setup-plan.sh
486-
└── update-claude-md.sh
483+
├── check-prerequisites.sh
484+
├── common.sh
485+
├── create-new-feature.sh
486+
├── setup-plan.sh
487+
└── update-claude-md.sh
487488
├── specs
488-
└── 001-create-taskify
489-
├── contracts
490-
├── api-spec.json
491-
└── signalr-spec.md
492-
├── data-model.md
493-
├── plan.md
494-
├── quickstart.md
495-
├── research.md
496-
└── spec.md
489+
└── 001-create-taskify
490+
├── contracts
491+
├── api-spec.json
492+
└── signalr-spec.md
493+
├── data-model.md
494+
├── plan.md
495+
├── quickstart.md
496+
├── research.md
497+
└── spec.md
497498
└── templates
498499
├── CLAUDE-template.md
499500
├── plan-template.md
@@ -575,6 +576,7 @@ Once ready, use the `/speckit.implement` command to execute your implementation
575576
```
576577

577578
The `/speckit.implement` command will:
579+
578580
- Validate that all prerequisites are in place (constitution, spec, plan, and tasks)
579581
- Parse the task breakdown from `tasks.md`
580582
- Execute tasks in the correct order, respecting dependencies and parallel execution markers
@@ -625,4 +627,3 @@ This project is heavily influenced by and based on the work and research of [Joh
625627
## 📄 License
626628

627629
This project is licensed under the terms of the MIT open source license. Please refer to the [LICENSE](./LICENSE) file for the full terms.
628-

SECURITY.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
Thanks for helping make GitHub safe for everyone.
1+
# Security Policy
22

3-
# Security
3+
Thanks for helping make GitHub safe for everyone.
44

55
GitHub takes the security of our software products and services seriously, including all of the open source code repositories managed through our GitHub organizations, such as [GitHub](https://github.com/GitHub).
66

7-
Even though [open source repositories are outside of the scope of our bug bounty program](https://bounty.github.com/index.html#scope) and therefore not eligible for bounty rewards, we will ensure that your finding gets passed along to the appropriate maintainers for remediation.
7+
Even though [open source repositories are outside of the scope of our bug bounty program](https://bounty.github.com/index.html#scope) and therefore not eligible for bounty rewards, we will ensure that your finding gets passed along to the appropriate maintainers for remediation.
88

99
## Reporting Security Issues
1010

@@ -16,13 +16,13 @@ Instead, please send an email to opensource-security[@]github.com.
1616

1717
Please include as much of the information listed below as you can to help us better understand and resolve the issue:
1818

19-
* The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
20-
* Full paths of source file(s) related to the manifestation of the issue
21-
* The location of the affected source code (tag/branch/commit or direct URL)
22-
* Any special configuration required to reproduce the issue
23-
* Step-by-step instructions to reproduce the issue
24-
* Proof-of-concept or exploit code (if possible)
25-
* Impact of the issue, including how an attacker might exploit the issue
19+
- The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
20+
- Full paths of source file(s) related to the manifestation of the issue
21+
- The location of the affected source code (tag/branch/commit or direct URL)
22+
- Any special configuration required to reproduce the issue
23+
- Step-by-step instructions to reproduce the issue
24+
- Proof-of-concept or exploit code (if possible)
25+
- Impact of the issue, including how an attacker might exploit the issue
2626

2727
This information will help us triage your report more quickly.
2828

0 commit comments

Comments
 (0)