Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

[Extension]: Update OKF Knowledge Bundle Generator to v0.9.2 (moved to catalogify)

已關閉 適合新手
#4,682 3 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
76/100
Issue 類型
文件
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
bash, git, python
領域
documentation

研究方向

從 docs/community/extensions.md 開始,找到包含 okf 項目的目錄資料。將提議的目錄項目與 issue 詳細資訊進行比較,更新目錄和文件列,然後確認目錄中繼資料和兩個 URL 都指向 catalogify 及其 v0.9.2 版本。

由索引模型根據 Issue 內容生成。

描述

extension-submission triage-can-wait validation-passed
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_questions instead of guessing; /speckit.okf.clarify folds human answers back in behind sentinels that later updates will not overwrite
  • Incremental /speckit.okf.update diffs since the last logged commit and refreshes only affected concepts, deprecating rather than deleting
  • /speckit.okf.validate enforces the OKF §9 conformance rules; /speckit.okf.verify checks 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.yml manifest 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.

主要語言
Python
星號
140k
分支
12.6k
平均合併
2 天 13 小時
30 天內合併 PR
197

環境準備

在 Codespaces 中開啟

在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

github/spec-kit 的其他 Issue

查看 github/spec-kit 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。