@heytherevibin/skillforge 0.8.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.10.1
4
+
5
+ - **README:** Clarify that **npm** **`latest`** and **`npm view`** are authoritative for semver; note CDN/browser cache can make the shields **npm** badge lag briefly after a publish. **Badge:** add **`cacheSeconds`** so the image URL refreshes sooner.
6
+
7
+ ## 0.10.0
8
+
9
+ - **CI:** Minimum bundled **`SKILL.md`** count is configured via **`ci/bundle-gate.json`** (`minSkillMdFiles`); **`.github/workflows/ci.yml`** reads that file. The **`ci/`** directory is included in the published package **`files`** list for transparency. Health + **route-eval** step chains both commands under a single **`cd python`** so the second command does not run from **`python/python`**.
10
+ - **MCP `_meta`:** **`schema_version` 1.7** — optional **`routing_overlay`** (project exclude / boost / notes audit). **1.6** — optional **`feedback_effect`** (learned-weight transparency after each route). **1.5** — optional **`route_quality`** (shortlist, hybrid, policy/session signals). Implemented in **`app/mcp_contract.py`** (see constant **`MCP_RESPONSE_SCHEMA_VERSION`**).
11
+ - **Project routing overlay:** optional **`exclude_skills`**, **`routing_boosts`**, **`project_notes`** (and aliases) in the same JSON document as regex **`rules`** — parsed by **`app/route_policies.py`**, applied in **`Router`** shortlists; **`project_notes`** require **`project_root`** to apply.
12
+ - **Operator CLIs:** **`skillforge health`** (`python/app/health_cli.py`), **`skillforge route-eval`** (`eval_cli` + fixtures under **`python/fixtures/route_eval/`**), **`skillforge weights export|import`** (`weights_cli.py`). CI runs **health --quick** and embedding **route-eval** with **`SKILLFORGE_BUNDLED_SKILLS`** set to the workspace skills tree.
13
+ - **MCP / search & explain:** **`search_skills`** and **`explain_route`** honor the same overlay + notes as **`route_skills`**; **`explain_route`** passes explicit shortlist **`k`** into **`Router.shortlist`**.
14
+ - **Fix:** **`skillforge route`** defines **`db_disp`** before use in host-pick output (**`route_cli.py`**).
15
+
16
+ ## 0.9.0
17
+
18
+ - **Host-delegated routing:** set **`SKILLFORGE_ROUTER_MODE=host`** to skip the in-process Haiku pick. First **`route_skills`** call returns a tight numbered shortlist (markdown + **`_meta.host_pick_candidates`**); second call with **`picked_names`** loads context, policies, and session **`uses`** as usual. No **`ANTHROPIC_API_KEY`** required for the pick step. Tunables: **`SKILLFORGE_HOST_PICK_MAX`**, **`SKILLFORGE_HOST_PICK_LINE_CHARS`**.
19
+ - **`picked_names`** on **`route_skills`** (optional): in **`embedding`** / **`full`** modes, supplying **`picked_names`** skips auto-pick and uses the host list (unchanged behavior, now documented).
20
+ - **`skillforge_bootstrap`** returns an error when **`SKILLFORGE_ROUTER_MODE=host`** (use two-step **`route_skills`** + **`materialize_project`**).
21
+ - **CLI:** **`skillforge route --picked-names=a,b`** mirrors MCP finalize. **`--json-meta`** includes **`host_pick_shortlist`** when applicable.
22
+ - **Cursor (global `/skillforge`)** and **Claude Code**: on **`skillforge install`** / first-run setup, Skillforge writes **`~/.cursor/commands/skillforge.md`** and/or **`~/.claude/commands/skillforge.md`** when each environment is detected; **`skillforge hosts init`** updates both without Python setup. Opt out: **`SKILLFORGE_SKIP_CURSOR_SETUP`**, **`SKILLFORGE_SKIP_CLAUDE_CODE_SETUP`**. Force: **`SKILLFORGE_CURSOR_GLOBAL_COMMAND`**, **`SKILLFORGE_CLAUDE_CODE_GLOBAL_COMMAND`**. **`--force-cursor`** replaces managed files. **Claude Desktop** remains detect-only + MCP merge hint.
23
+ - **MCP** server version **0.9.0**; **`materialize_project`** writes per-repo **`.cursor/commands`** and **`.claude/commands`** **`/skillforge`** with **`skill_names`**.
24
+
3
25
  ## 0.8.0
4
26
 
5
27
  - **Smarter routing:** optional **conversation-aware** shortlist query (`SKILLFORGE_ROUTER_CONV_*`), **hybrid** retrieval (`SKILLFORGE_ROUTER_HYBRID` = `keyword` or `bm25` + `SKILLFORGE_ROUTER_HYBRID_ALPHA`), optional **Haiku rerank** (`SKILLFORGE_HAIKU_RERANK`, `SKILLFORGE_HAIKU_RERANK_MAX`, `SKILLFORGE_HAIKU_RERANK_MODEL`).
package/CONTRIBUTING.md CHANGED
@@ -1,38 +1,49 @@
1
1
  # Contributing
2
2
 
3
- Thanks for helping improve skillforge.
3
+ Thank you for improving Skillforge.
4
4
 
5
- ## How to contribute
5
+ ## Workflow
6
+
7
+ 1. **Fork** the repository and create a branch from **`main`**.
8
+ 2. Keep changes **focused**; follow patterns in surrounding code.
9
+ 3. Run **local checks** before opening a PR from the **package root** (the directory that contains **`package.json`**):
6
10
 
7
- 1. **Fork** the repository and create a branch from `main`.
8
- 2. Make focused changes; match existing style in the touched files.
9
- 3. Run local checks before pushing:
10
11
  ```bash
11
12
  node --check bin/cli.js && node --check lib/packs.js
12
13
  npm test
13
14
  ```
14
- 4. Open a **pull request** into `main` with a clear description of the change and why.
15
15
 
16
- Pull requests should pass the **CI** workflow (see [RELEASING.md](RELEASING.md)).
16
+ For Python (after **`pip install -r python/requirements.txt -r python/requirements-dev.txt`** from the same directory):
17
17
 
18
- ## Branch protection (maintainers)
18
+ ```bash
19
+ cd python && PYTHONPATH=. pytest tests/ -q
20
+ ```
19
21
 
20
- For an “enterprise-style” mainline, enable in GitHub: **Settings Branches Add rule** for `main`:
22
+ When you add a new **`python/app/*.py`** module, extend the **`py_compile`** list in **`.github/workflows/ci.yml`** (authoritative source) and mirror it in **[RELEASING.md](RELEASING.md)** local checks if you maintain that snippet.
21
23
 
22
- - Require a pull request before merging
23
- - Require status checks to pass before merging (add **CI** / `verify`)
24
- - Optionally: require reviews, disallow force pushes
24
+ If you **intentionally** shrink or grow the bundled **`skills/`** tree below/above the current CI minimum, update **`ci/bundle-gate.json`** (`minSkillMdFiles`) and note it in the PR—see **[RELEASING.md](RELEASING.md)**.
25
25
 
26
- This is configured in the GitHub UI; it is not stored in this repo.
26
+ 4. Open a **pull request** into **`main`** with:
27
+ - What changed and **why**
28
+ - How you **verified** it (tests, manual MCP smoke, etc.)
27
29
 
28
- ## Releases
30
+ PRs should pass **CI** (see [RELEASING.md](RELEASING.md)).
29
31
 
30
- Maintainers: follow [RELEASING.md](RELEASING.md) for version bumps, tags, **`NPM_TOKEN`**, and npm **2FA**.
32
+ ## Branch protection (maintainers)
33
+
34
+ For a protected **`main`**:
35
+
36
+ - Require PRs before merge
37
+ - Require **CI** / `verify` to pass
38
+ - Optionally require reviews and disallow force-push
31
39
 
32
- ## Code of conduct
40
+ Configured in **GitHub → Settings → Branches**; not stored in-repo.
41
+
42
+ ## Releases
33
43
 
34
- Please read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). Report problems to the maintainers.
44
+ Maintainers: [RELEASING.md](RELEASING.md) (**semver**, tags, **`NPM_TOKEN`**, npm tokens).
35
45
 
36
- ## Security
46
+ ## Conduct & security
37
47
 
38
- See [SECURITY.md](SECURITY.md) for vulnerability reporting.
48
+ - [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
49
+ - [SECURITY.md](SECURITY.md) for vulnerability reporting