[Extension]: Update OKF Knowledge Bundle Generator to v0.9.2 (moved to catalogify)
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- bash, git, python
- Domínio
- documentation
Direção de pesquisa
Comece por docs/community/extensions.md e localize os dados do catálogo que contêm a entrada okf. Compare a entrada proposta do catálogo com os detalhes da issue, atualize o catálogo e a linha da documentação e, em seguida, verifique se os metadados do catálogo e ambas as URLs apontam para catalogify e sua release v0.9.2.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Extension ID
okf
Extension Name
OKF Knowledge Bundle Generator
Version
0.9.2
Description
Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository. Mines git history for the rationale behind the code, parks what it cannot establish as open questions rather than guessing, and verifies that the bundle's claims are actually supported by the repository.
Author
Alex Punnen
Repository URL
https://github.com/alexcpn/catalogify
Download URL
https://github.com/alexcpn/catalogify/releases/download/v0.9.2/speckit-okf-0.9.2.zip
License
MIT
Homepage (optional)
https://github.com/alexcpn/catalogify
Documentation URL (optional)
https://github.com/alexcpn/catalogify/blob/main/integrations/speckit/README.md
Changelog URL (optional)
https://github.com/alexcpn/catalogify/releases
Required Spec Kit Version
=0.12.0
Required Tools (optional)
- bash - required
- python3 (>=3.9) - required
- git - optional (used for churn ranking, history mining, incremental update and verify; generate and validate work without it)
Number of Commands
5
Number of Hooks (optional)
0
Tags
knowledge, okf, documentation, metadata, catalog
Key Features
- Generates a conformant OKF v0.1 bundle: cross-linked markdown concepts with YAML frontmatter for services, modules, APIs, data models and operations
- Mines git history for design rationale, following reverts back to the commit they reverted and marking test-only commits, so invariants recorded nowhere else are captured with commit citations
- Parks what it cannot establish as
open_questionsinstead of guessing;/speckit.okf.clarifyfolds human answers back in behind sentinels that later updates will not overwrite - Incremental
/speckit.okf.updatediffs since the last logged commit and refreshes only affected concepts, deprecating rather than deleting /speckit.okf.validateenforces the OKF §9 conformance rules;/speckit.okf.verifychecks the bundle's claims: every cited commit exists and belongs to the concept citing it, every named interface exists in non-test code, every source path is tracked by git
Testing Checklist
- Extension installs successfully via download URL
- All commands execute without errors
- Documentation is complete and accurate
- No security vulnerabilities identified
- Tested on at least one real project
Submission Requirements
- Valid
extension.ymlmanifest included - README.md with installation and usage instructions
- LICENSE file included
- GitHub release created with version tag
- All command files exist and are properly formatted
- Extension ID follows naming conventions (lowercase-with-hyphens)
Testing Details
Tested on: Linux, Python 3.10 and 3.11, specify 0.12.18.
**Release archive verified:** downloaded from the URL above (release [v0.9.2](https://github.com/alexcpn/catalogify/releases/tag/v0.9.2)), SHA-256
`b426c135dc2d6c6bd11b286c70273f5ae28db5d2a2252acd9768cfb893b9b303`. `extension.yml` sits at the top of the archive and declares version 0.9.2. All five declared command files are
present, as are the four scripts and the config template.
**Test scenarios:**
1. `specify extension add okf --from <download URL>` (the real release URL) in a fresh `specify init --integration claude` project: all five commands register, with descriptions,
and the scripts land under `.specify/extensions/okf/scripts/`.
2. The installed scripts run as the commands invoke them (`bash …/okf-inventory.sh`, `bash …/okf-history.sh`, `python3 …/validate_okf.py`, `python3 …/verify_okf.py`).
3. Real project: `GoogleCloudPlatform/microservices-demo`, a full clone with 1,946 commits and an existing 28-concept bundle. Run from the installed extension, the inventory scan
completes; history mining on `src/cartservice` returns 304 commits; co-change mining analyses 1,946 commits; `validate_okf.py knowledge` reports `RESULT: CONFORMANT (OKF v0.1)`;
and `verify_okf.py knowledge` reports `RESULT: VERIFIED` with two V6 notes about runtime coupling.
4. Installed into an existing Spec Kit project that uses the Claude integration. The five `/speckit-okf-*` skills register and run.
**Changes since 0.5.0:**
- **New command `/speckit.okf.verify`.** It checks claims rather than structure: cited commits must exist, belong to the concept citing them and not be test-only; symbols in `#
Interfaces` must appear in non-test source; `source_files` must be tracked by git; invariants need evidence. Running generate twice against `kubernetes/kubernetes` produced the
same five wrong claims both times. They were test-only commits written up as production invariants, and verify catches all five.
- **Fixed: scripts failed with "permission denied" after a zip install.** Spec Kit extracts archives without file modes, and the commands ran the shell scripts directly. They now
run them through `bash`.
- History mining lists the files each commit touched and warns when the clone is shallow. New co-change mining finds directories that always change together. Untracked (vendored)
subtrees are refused. Cross-links are relative so they resolve on GitHub, and bundles carry a `README.md`.
- Each command now has a description in the manifest, so `specify extension add` lists them properly.
Example Usage
specify extension add okf --from https://github.com/alexcpn/catalogify/releases/download/v0.9.2/speckit-okf-0.9.2.zip
/speckit.okf.generate # bootstrap knowledge/ from code and git history
/speckit.okf.clarify # answer the questions it parked instead of guessing
/speckit.okf.update # after code changes, refresh incrementally
/speckit.okf.validate # OKF conformance
/speckit.okf.verify # are the bundle's claims supported by the repository?
In Claude Code and Codex these register as `/speckit-okf-generate`, `/speckit-okf-verify` and so on.
Proposed Catalog Entry
"okf": {
"name": "OKF Knowledge Bundle Generator",
"id": "okf",
"description": "Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository. Mines git history for the rationale behind the code, parks what it cannot establish as open questions rather than guessing, and verifies that the bundle's claims are actually supported by the repository.",
"author": "Alex Punnen",
"version": "0.9.2",
"download_url": "https://github.com/alexcpn/catalogify/releases/download/v0.9.2/speckit-okf-0.9.2.zip",
"sha256": "b426c135dc2d6c6bd11b286c70273f5ae28db5d2a2252acd9768cfb893b9b303",
"repository": "https://github.com/alexcpn/catalogify",
"homepage": "https://github.com/alexcpn/catalogify",
"documentation": "https://github.com/alexcpn/catalogify/blob/main/integrations/speckit/README.md",
"changelog": "https://github.com/alexcpn/catalogify/releases",
"license": "MIT",
"category": "docs",
"effect": "read-write",
"requires": {
"speckit_version": ">=0.12.0",
"tools": [
{ "name": "bash", "required": true },
{ "name": "python3", "version": ">=3.9", "required": true },
{ "name": "git", "required": false }
]
},
"provides": { "commands": 5, "hooks": 0 },
"tags": ["knowledge", "okf", "documentation", "metadata", "catalog"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-07-17T00:00:00Z",
"updated_at": "2026-09-22T00:00:00Z"
}
Additional Context
Please also update the okf row in docs/community/extensions.md: its URL column links alexcpn/speckit_okf and should link catalogify.
An earlier update to 0.6.0 was posted as a comment on #4439 after that issue had closed, and never reached the catalog. This submission replaces it.
- Linguagem predominante
- Python
- Estrelas
- 139k
- Forks
- 12.5k
- Merge médio
- 2d 20h
- PRs com merge (30d)
- 170
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/spec-kit
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
needs-triage triage-nice-to-have
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/spec-kit#4527 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug-assess severity-medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/spec-kit#4273 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
extension-submission validation-passed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
github/spec-kit#4099 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de github/spec-kit
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
mozilla/bedrock#17413 · 1 reação ·
Mantenedores costumam responder em até 2 dias
-
instance instance add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
searxng/searx-instances#943 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
bug tools
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
lance-format/lance#9655 ·
Mantenedores costumam responder em até 2 dias