@m2015agg/git-skill 0.4.1 → 0.4.3

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/README.md CHANGED
@@ -56,7 +56,7 @@ For semantic search, configure an embedding provider. Works with any OpenAI-comp
56
56
 
57
57
  ```bash
58
58
  git-skill install # Configure embedding provider
59
- git-skill embed # Generate embeddings for all commits
59
+ git-skill embed # Generate embeddings for all commits + enrichments
60
60
  ```
61
61
 
62
62
  Or manually edit `~/.config/git-skill/config.json`:
@@ -170,7 +170,7 @@ git-skill why <hash> # View enrichment for a commit
170
170
  | `git-skill init` | Per-project setup (hook, snapshot, permissions) |
171
171
  | `git-skill approve` | Pre-approve read commands in Claude Code |
172
172
  | `git-skill docs` | Output CLAUDE.md snippet |
173
- | `git-skill cron` | Nightly snapshot automation |
173
+ | `git-skill cron` | Nightly fetch + snapshot + embed automation |
174
174
  | `git-skill update` | Self-update |
175
175
  | `git-skill uninstall` | Clean removal |
176
176
 
@@ -188,7 +188,7 @@ Three-layer SQLite cache at `.git-history/history.db`:
188
188
  2. **Derived analytics** — file evolution, churn hotspots, coupling, decision points, author expertise, trends
189
189
  3. **LLM enrichments** — intent, reasoning, category per commit (optional, via `enrich`)
190
190
 
191
- Search uses BM25 (FTS5) by default. Optional vector search via any OpenAI-compatible embedding endpoint.
191
+ Search uses hybrid BM25 + vector similarity (Reciprocal Rank Fusion) when embeddings exist. Falls back to BM25-only when no embeddings are configured. Use `--bm25` flag to force keyword-only search.
192
192
 
193
193
  ## Built-in Metrics
194
194
 
@@ -237,6 +237,26 @@ Example output:
237
237
 
238
238
  Works without an LLM configured (local-only analysis shows edit counts and revert history). With an LLM configured, provides deep reasoning about why previous attempts failed.
239
239
 
240
+ ## Automation
241
+
242
+ git-skill runs automatically at two levels:
243
+
244
+ **Every commit** (post-commit hook):
245
+ - `git-skill capture` — indexes the new commit into SQLite + FTS
246
+ - `git-skill context-update` — refreshes Claude's memory with latest alerts
247
+
248
+ **Nightly at 3 AM** (cron, set up with `git-skill cron`):
249
+ - `git fetch --all` — pulls in team members' commits
250
+ - `git-skill snapshot` — full re-index with 8 phases:
251
+ 1. Backfill commits
252
+ 2. Index branches
253
+ 3. Index tags
254
+ 4. Rebuild FTS search index
255
+ 5. Compute analytics (hotspots, coupling, decisions, expertise, trends)
256
+ 6. Compute built-in metrics (revert rate, fix-on-fix, scope creep)
257
+ 7. Auto-embed new commits + enrichments
258
+ 8. Update Claude memory context with health summary
259
+
240
260
  ## Need Help?
241
261
 
242
262
  git-skill is designed for AI agents. If you're using Claude Code, just ask:
@@ -21,7 +21,7 @@ function setCrontab(content) {
21
21
  }
22
22
  }
23
23
  function buildCronLine(cwd) {
24
- return `0 3 * * * cd '${cwd.replace(/'/g, "'\\''")}' && git-skill snapshot ${CRON_MARKER}`;
24
+ return `0 3 * * * cd '${cwd.replace(/'/g, "'\\''")}' && git fetch --all --quiet 2>/dev/null; git-skill snapshot ${CRON_MARKER}`;
25
25
  }
26
26
  export function cronCommand() {
27
27
  return new Command("cron")
@@ -1 +1 @@
1
- {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/commands/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpD,SAAS,KAAK,CAAC,GAAW,IAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhE,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE;QACzC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,iBAAiB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,gEAAgE,WAAW,EAAE,CAAC;AAClI,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC;SACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,yBAAyB;YACzB,MAAM,OAAO,GAAG,OAAO;iBACpB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,UAAU,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;YAClD,KAAK,CAAC,8CAA8C,GAAG,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m2015agg/git-skill",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
4
4
  "description": "Git history intelligence for LLMs — institutional memory over codebase evolution",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,8 +27,18 @@
27
27
  "typescript": "^5.7.0",
28
28
  "vitest": "^3.0.0"
29
29
  },
30
- "files": ["dist", "README.md"],
31
- "keywords": ["git", "history", "ai", "llm", "cli", "intelligence"],
30
+ "files": [
31
+ "dist",
32
+ "README.md"
33
+ ],
34
+ "keywords": [
35
+ "git",
36
+ "history",
37
+ "ai",
38
+ "llm",
39
+ "cli",
40
+ "intelligence"
41
+ ],
32
42
  "author": "m2015agg",
33
43
  "license": "MIT"
34
44
  }