Skip to content

Commit 3c9659f

Browse files
committed
docs: streamline install section and add community overview
- Shorten README.md install section to single uv command + link to installation guide for alternatives and troubleshooting - Add explicit 'Initialize a project' step to README Get Started - Remove duplicate Troubleshooting section from README - Reorder 'Make it your own' card on docs landing page so extensions and presets are explained before the stats - Update Community nav-card to link to new community overview - Create docs/community/overview.md landing page (aligned with reference/overview.md) - Create dedicated install sub-pages: pipx, one-time (uvx), air-gapped - Update docs/installation.md to lead with persistent uv install and link to sub-pages instead of duplicating content - Update docs/toc.yml with new pages - Remove stale EOF file
1 parent 59fa8b5 commit 3c9659f

9 files changed

Lines changed: 208 additions & 181 deletions

File tree

EOF

Whitespace-only changes.

README.md

Lines changed: 12 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@
3535
- [🔧 Prerequisites](#-prerequisites)
3636
- [📖 Learn More](#-learn-more)
3737
- [📋 Detailed Process](#-detailed-process)
38-
- [🔍 Troubleshooting](#-troubleshooting)
39-
- [💬 Support](#-support)
38+
- [ Support](#-support)
4039
- [🙏 Acknowledgements](#-acknowledgements)
4140
- [📄 License](#-license)
4241

@@ -48,83 +47,22 @@ Spec-Driven Development **flips the script** on traditional software development
4847

4948
### 1. Install Specify CLI
5049

51-
Choose your preferred installation method:
52-
53-
> **Important:** The only official, maintained packages for Spec Kit are published from this GitHub repository. Any packages with the same name on PyPI are **not** affiliated with this project and are not maintained by the Spec Kit maintainers. Always install directly from GitHub as shown below.
54-
55-
#### Option 1: Persistent Installation (Recommended)
56-
57-
Install once and use everywhere. Pin a specific release tag for stability (check [Releases](https://github.com/github/spec-kit/releases) for the latest):
58-
59-
> [!NOTE]
60-
> The `uv tool install` commands below require **[uv](https://docs.astral.sh/uv/)** — a fast Python package manager. If you see `command not found: uv`, [install uv first](./docs/install/uv.md). The `pipx` alternative does not require uv.
50+
Requires **[uv](https://docs.astral.sh/uv/)** ([install uv](./docs/install/uv.md)). Replace `vX.Y.Z` with the latest tag from [Releases](https://github.com/github/spec-kit/releases):
6151

6252
```bash
63-
# Install a specific stable release (recommended — replace vX.Y.Z with the latest tag)
6453
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
65-
66-
# Or install latest from main (may include unreleased changes)
67-
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
68-
69-
# Alternative: using pipx (also works)
70-
pipx install git+https://github.com/github/spec-kit.git@vX.Y.Z
71-
pipx install git+https://github.com/github/spec-kit.git
72-
```
73-
74-
Then verify the correct version is installed:
75-
76-
```bash
77-
specify version
78-
```
79-
80-
And use the tool directly:
81-
82-
```bash
83-
# Create new project
84-
specify init <PROJECT_NAME>
85-
86-
# Or initialize in existing project
87-
specify init . --integration copilot
88-
# or
89-
specify init --here --integration copilot
90-
91-
# Check installed tools
92-
specify check
9354
```
9455

95-
To upgrade Specify, see the [Upgrade Guide](./docs/upgrade.md) for detailed instructions. Quick upgrade:
96-
97-
```bash
98-
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.Z
99-
# pipx users: pipx install --force git+https://github.com/github/spec-kit.git@vX.Y.Z
100-
```
56+
See the [Installation Guide](./docs/installation.md) for alternative methods, verification, upgrade, and troubleshooting.
10157

102-
#### Option 2: One-time Usage
103-
104-
Run directly without installing:
58+
### 2. Initialize a project
10559

10660
```bash
107-
# Create new project (pinned to a stable release — replace vX.Y.Z with the latest tag)
108-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <PROJECT_NAME>
109-
110-
# Or initialize in existing project
111-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . --integration copilot
112-
# or
113-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --integration copilot
61+
specify init my-project --integration copilot
62+
cd my-project
11463
```
11564

116-
**Benefits of persistent installation:**
117-
118-
- Tool stays installed and available in PATH
119-
- No need to create shell aliases
120-
- Better tool management with `uv tool list`, `uv tool upgrade`, `uv tool uninstall`
121-
- Cleaner shell configuration
122-
123-
#### Option 3: Enterprise / Air-Gapped Installation
124-
125-
If your environment blocks access to PyPI or GitHub, see the [Enterprise / Air-Gapped Installation](./docs/installation.md#enterprise--air-gapped-installation) guide for step-by-step instructions on using `pip download` to create portable, OS-specific wheel bundles on a connected machine.
126-
127-
### 2. Establish project principles
65+
### 3. Establish project principles
12866

12967
Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI in skills mode uses `$speckit-*` instead.
13068

@@ -134,31 +72,31 @@ Use the **`/speckit.constitution`** command to create your project's governing p
13472
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements
13573
```
13674

137-
### 3. Create the spec
75+
### 4. Create the spec
13876

13977
Use the **`/speckit.specify`** command to describe what you want to build. Focus on the **what** and **why**, not the tech stack.
14078

14179
```bash
14280
/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.
14381
```
14482

145-
### 4. Create a technical implementation plan
83+
### 5. Create a technical implementation plan
14684

14785
Use the **`/speckit.plan`** command to provide your tech stack and architecture choices.
14886

14987
```bash
15088
/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.
15189
```
15290

153-
### 5. Break down into tasks
91+
### 6. Break down into tasks
15492

15593
Use **`/speckit.tasks`** to create an actionable task list from your implementation plan.
15694

15795
```bash
15896
/speckit.tasks
15997
```
16098

161-
### 6. Execute implementation
99+
### 7. Execute implementation
162100

163101
Use **`/speckit.implement`** to execute all tasks and build your feature according to the plan.
164102

@@ -639,26 +577,7 @@ Once the implementation is complete, test the application and resolve any runtim
639577

640578
---
641579

642-
## 🔍 Troubleshooting
643-
644-
### Git Credential Manager on Linux
645-
646-
If you're having issues with Git authentication on Linux, you can install Git Credential Manager:
647-
648-
```bash
649-
#!/usr/bin/env bash
650-
set -e
651-
echo "Downloading Git Credential Manager v2.6.1..."
652-
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
653-
echo "Installing Git Credential Manager..."
654-
sudo dpkg -i gcm-linux_amd64.2.6.1.deb
655-
echo "Configuring Git to use GCM..."
656-
git config --global credential.helper manager
657-
echo "Cleaning up..."
658-
rm gcm-linux_amd64.2.6.1.deb
659-
```
660-
661-
## 💬 Support
580+
## Support
662581

663582
For support, please open a [GitHub issue](https://github.com/github/spec-kit/issues/new). We welcome bug reports, feature requests, and questions about using Spec-Driven Development.
664583

docs/community/overview.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Community
2+
3+
The Spec Kit community builds extensions, presets, walkthroughs, and companion projects that expand what you can do with Spec-Driven Development. All community contributions are independently created and maintained by their respective authors.
4+
5+
## Extensions
6+
7+
Extensions add new capabilities to Spec Kit — domain-specific commands, external tool integrations, quality gates, and more. Over 90 community extensions are available from 50+ authors, covering everything from accessibility governance to multi-agent orchestration.
8+
9+
[Browse community extensions →](extensions.md)
10+
11+
## Presets
12+
13+
Presets customize how Spec Kit behaves — overriding templates, commands, and terminology without changing any tooling. Community presets range from language localizations to entirely different development methodologies.
14+
15+
[Browse community presets →](presets.md)
16+
17+
## Walkthroughs
18+
19+
Step-by-step guides that show Spec-Driven Development in action across different scenarios, languages, and frameworks.
20+
21+
[Browse community walkthroughs →](walkthroughs.md)
22+
23+
## Friends
24+
25+
Community projects that extend, visualize, or build on Spec Kit — including VS Code extensions, Claude Code plugins, and more.
26+
27+
[Browse friend projects →](friends.md)

docs/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ Run `specify init` with your agent of choice and Spec Kit sets up the right comm
4343

4444
### Make it your own
4545

46-
<span class="pillar-stat">91 community extensions</span> (50+ authors), <span class="pillar-stat">18 presets</span>, and growing — including entirely different SDD processes:
46+
<span class="pillar-stat">91 community extensions</span> (50+ authors), <span class="pillar-stat">18 presets</span>, and growing. Tune the core process with presets, extend it with extensions, orchestrate it with workflows, or replace it entirely. Build and publish your own.
47+
48+
Including entirely different SDD processes:
4749

4850
- **AIDE** — 7-step AI-driven engineering lifecycle
4951
- **Canon** — baseline-driven workflows (spec-first, code-first, spec-drift)
5052
- **Product Forge** — product-management-oriented SDD
5153
- **FX→.NET** — end-to-end .NET Framework migration across 7 phases
5254
- **MAQA** — multi-agent orchestration with quality assurance gates
5355

54-
Tune the core process with presets, extend it with extensions, orchestrate it with workflows, or replace it entirely. Build and publish your own.
55-
5656
<a href="community/presets.md" class="pillar-link">Browse community presets →</a>
5757

5858
</div>
@@ -124,9 +124,9 @@ Community extensions like CI Guard and Architecture Guard add compliance gates a
124124
<strong>Reference</strong>
125125
<span>Core commands, integrations, extensions, presets, and workflows</span>
126126
</a>
127-
<a href="community/presets.md" class="nav-card">
127+
<a href="community/overview.md" class="nav-card">
128128
<strong>Community</strong>
129-
<span>Presets, walkthroughs, and friend projects</span>
129+
<span>Extensions, presets, walkthroughs, and friend projects</span>
130130
</a>
131131
<a href="local-development.md" class="nav-card">
132132
<strong>Development</strong>

docs/install/air-gapped.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Enterprise / Air-Gapped Installation
2+
3+
If your environment blocks access to PyPI or GitHub, you can create a portable wheel bundle on a connected machine and transfer it to the air-gapped target.
4+
5+
## Step 1: Build the wheel on a connected machine
6+
7+
> **Important:** `pip download` resolves platform-specific wheels (e.g., PyYAML includes native extensions). You must run this step on a machine with the **same OS and Python version** as the air-gapped target. If you need to support multiple platforms, repeat this step on each target OS (Linux, macOS, Windows) and Python version.
8+
9+
```bash
10+
# Clone the repository
11+
git clone https://github.com/github/spec-kit.git
12+
cd spec-kit
13+
14+
# Build the wheel
15+
pip install build
16+
python -m build --wheel --outdir dist/
17+
18+
# Download the wheel and all its runtime dependencies
19+
pip download -d dist/ dist/specify_cli-*.whl
20+
```
21+
22+
## Step 2: Transfer the `dist/` directory
23+
24+
Copy the entire `dist/` directory (which contains the `specify-cli` wheel and all dependency wheels) to the target machine via USB, network share, or other approved transfer method.
25+
26+
## Step 3: Install on the air-gapped machine
27+
28+
```bash
29+
pip install --no-index --find-links=./dist specify-cli
30+
```
31+
32+
## Step 4: Initialize a project
33+
34+
No network access is required — bundled assets are used by default:
35+
36+
```bash
37+
specify init my-project --integration copilot
38+
```
39+
40+
> **Note:** Python 3.11+ is required.
41+
42+
> **Windows note:** Offline scaffolding requires PowerShell 7+ (`pwsh`), not Windows PowerShell 5.x (`powershell.exe`). Install from https://aka.ms/powershell.
43+
44+
## Git Credential Manager on Linux
45+
46+
If you're having issues with Git authentication on Linux, you can install Git Credential Manager:
47+
48+
```bash
49+
#!/usr/bin/env bash
50+
set -e
51+
echo "Downloading Git Credential Manager v2.6.1..."
52+
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
53+
echo "Installing Git Credential Manager..."
54+
sudo dpkg -i gcm-linux_amd64.2.6.1.deb
55+
echo "Configuring Git to use GCM..."
56+
git config --global credential.helper manager
57+
echo "Cleaning up..."
58+
rm gcm-linux_amd64.2.6.1.deb
59+
```

docs/install/one-time.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# One-time Usage (uvx)
2+
3+
If you want to try Spec Kit without installing it permanently, use `uvx` to run it directly. This downloads the tool into a temporary environment that is discarded after the command finishes.
4+
5+
> [!NOTE]
6+
> The commands below require **[uv](https://docs.astral.sh/uv/)**. If you see `command not found: uvx`, [install uv first](uv.md).
7+
8+
## Run Specify CLI
9+
10+
```bash
11+
# Create a new project (latest from main)
12+
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>
13+
14+
# Or target a specific release (replace vX.Y.Z with a tag from Releases)
15+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <PROJECT_NAME>
16+
17+
# Initialize in the current directory
18+
uvx --from git+https://github.com/github/spec-kit.git specify init . --integration copilot
19+
20+
# Or use the --here flag
21+
uvx --from git+https://github.com/github/spec-kit.git specify init --here --integration copilot
22+
```
23+
24+
## When to use persistent installation instead
25+
26+
If you plan to use Spec Kit regularly, a persistent installation is recommended:
27+
28+
- Tool stays installed and available in PATH
29+
- No re-download on every invocation
30+
- Better tool management with `uv tool list`, `uv tool upgrade`, `uv tool uninstall`
31+
32+
See the main [Installation Guide](../installation.md) for persistent installation instructions.

docs/install/pipx.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Installing with pipx
2+
3+
[pipx](https://pypa.github.io/pipx/) is a tool for installing Python CLI applications in isolated environments. It does not require [uv](https://docs.astral.sh/uv/).
4+
5+
## Install Specify CLI
6+
7+
Pin a specific release tag for stability (check [Releases](https://github.com/github/spec-kit/releases) for the latest):
8+
9+
```bash
10+
# Install a specific stable release (recommended — replace vX.Y.Z with the latest tag)
11+
pipx install git+https://github.com/github/spec-kit.git@vX.Y.Z
12+
13+
# Or install latest from main (may include unreleased changes)
14+
pipx install git+https://github.com/github/spec-kit.git
15+
```
16+
17+
## Verify
18+
19+
```bash
20+
specify version
21+
```
22+
23+
## Upgrade
24+
25+
```bash
26+
pipx install --force git+https://github.com/github/spec-kit.git@vX.Y.Z
27+
```
28+
29+
## Uninstall
30+
31+
```bash
32+
pipx uninstall specify-cli
33+
```
34+
35+
## Next steps
36+
37+
Head to the [Quick Start](../quickstart.md) to initialize your first project.

0 commit comments

Comments
 (0)