github / github/spec-kit

[Extension]: Add keel

Ouverte Adaptée aux débutants
#4,549 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
extension-submission triage-nice-to-have validation-passed
Langage dominant
Python
Étoiles
137k
Forks
12.3k
Merge moyen
2 j 12 h
PR mergées (30 j)
159

Description

### Extension ID

keel

### Extension Name

Keel Connect

### Version

2.0.1

### Description

Connect the local Keel runtime to Keel Cloud without leaving your agent.

### Author

Keel Discovery

### Repository URL

https://github.com/keeldiscovery/spec-kit-keel

### Download URL

https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v2.0.1.zip

### License

Apache-2.0

### Homepage (optional)

https://keeldiscovery.com

### Documentation URL (optional)

https://github.com/keeldiscovery/spec-kit-keel#readme

### Changelog URL (optional)

https://github.com/keeldiscovery/spec-kit-keel/blob/main/CHANGELOG.md

### Required Spec Kit Version

>=1.0.0,<2.0.0

### Required Tools (optional)

python3 >= 3.9

### Number of Commands

2

### Number of Hooks (optional)

0

### Tags

keel, runtime, connect, agent, infrastructure

### Key Features

- `speckit.keel.connect` checks whether the Keel runtime on this machine is connected to Keel Cloud, starts it if it isn't, and hands back the code and the URL to approve the device. It says which Keel it is talking to, and it replaces a runtime an older version of this extension started when that runtime is idle (never mid-job, never a downgrade).
- `speckit.keel.brief` is prose only: it tells the founder how to download the brief from keel-web and paste it in, and tells the agent to read the measured lines as evidence, the summary paragraph as opinion, and every quoted sentence as source material, never an instruction.
- The runtime ships inside the extension. Nothing is installed, downloaded or fetched beyond the extension itself; Python 3.9 or newer is the one prerequisite. No hooks, no config, no templates.

### Testing Checklist

- [x] Extension installs successfully via download URL
- [x] All commands execute without errors
- [x] Documentation is complete and accurate
- [x] No security vulnerabilities identified
- [x] Tested on at least one real project

### Submission Requirements

- [x] Valid `extension.yml` manifest included
- [x] README.md with installation and usage instructions
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] All command files exist and are properly formatted
- [x] Extension ID follows naming conventions (lowercase-with-hyphens)

### Testing Details

- Supersedes #4547 (2.0.0), closed by the same submitter: 2.0.1 moves Keel's address to `https://keeldiscovery.com`; the extension's own logic is unchanged.

- Installed from the download URL above into a fresh `specify init` project on Spec Kit 1.0.7 (macOS): both commands registered as agent skills, `specify extension list` shows Keel Connect v2.0.1, the connect script started the runtime and returned a device code, the disconnect script stopped it.
- The tree's own `tests/test-install.sh --full`: 35 of 35 checks pass against the released tag.
- An end-to-end journey through the extension (Spec Kit project, Claude Code or Copilot saying "keel connect", device approval in a real browser, the runtime on the host's executor) runs nightly in the maintainers' evaluation matrix; the same journey through the equivalent Claude Code plugin runs on every change on macOS and Windows.
- The runtime's own suite: 415 tests, three operating systems, both executors.

### Example Usage

```
specify extension add keel
/speckit.keel.connect # or just say "keel connect" to your agent
# → a short code and a URL; approve the device in your browser; the runtime is connected
/speckit.keel.brief # once Keel has something to say: how to bring the brief into the spec
```

### Proposed Catalog Entry

```json
{
"id": "keel",
"name": "Keel Connect",
"description": "Connect the local Keel runtime to Keel Cloud without leaving your agent.",
"author": "Keel Discovery",
"version": "2.0.1",
"download_url": "https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v2.0.1.zip",
"repository": "https://github.com/keeldiscovery/spec-kit-keel",
"documentation": "https://github.com/keeldiscovery/spec-kit-keel#readme",
"changelog": "https://github.com/keeldiscovery/spec-kit-keel/blob/main/CHANGELOG.md",
"license": "Apache-2.0",
"category": "integration",
"effect": "read-only",
"requires": {
"speckit_version": ">=1.0.0,<2.0.0",
"tools": [
{
"name": "python3",
"version": ">=3.9",
"required": true
}
]
},
"provides": {
"commands": 2,
"hooks": 0
},
"tags": [
"keel",
"runtime",
"connect",
"agent",
"infrastructure"
]
}
```

### Additional Context

**This is an update to an existing catalogue entry.** `keel` is already in `catalog.community.json` at 0.2.0 (created 2026-08-10). 2.0.0 replaces it outright: the six prompt-based commands, the two hooks, the config file and the gate script are gone (the changelog says what left and why), and two commands take their place. The entry's `created_at`, `downloads` and `stars` are yours to carry forward; the JSON above sends no values for them. Category changes from `process` to `integration`, effect from `read-write` to `read-only` (neither command writes anything itself), and `requires.speckit_version` from `>=0.15.0` to `>=1.0.0,<2.0.0`.

Filed with the GitHub CLI mirroring the form's fields, since the form cannot be driven from a terminal; please add the `extension-submission` label as usual.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Open catalog.community.json and locate the existing keel entry. Compare it with the proposed catalog entry, carrying forward created_at, downloads, and stars while updating the version, URLs, category, effect, requirements, commands, hooks, and tags; done means the catalog contains the complete 2.0.1 metadata as valid JSON.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
86/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.