@ataraxy-labs/sem 0.8.0 → 0.10.0

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.
Files changed (2) hide show
  1. package/README.md +26 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -6,6 +6,10 @@
6
6
  <img src="assets/banner.svg" alt="sem" width="600" />
7
7
  </p>
8
8
 
9
+ <p align="center">
10
+ <a href="https://trendshift.io/repositories/25348" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25348" alt="Ataraxy-Labs%2Fsem | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
11
+ </p>
12
+
9
13
  <p align="center">
10
14
  <strong>Semantic version control built on Git.</strong><br>
11
15
  Instead of lines changed, sem tells you what entities changed: functions, methods, classes.
@@ -24,7 +28,7 @@
24
28
  <img src="https://img.shields.io/badge/rust-stable-orange" alt="Rust">
25
29
  <img src="https://img.shields.io/badge/tests-133_passing-brightgreen" alt="Tests">
26
30
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-yellow" alt="License"></a>
27
- <img src="https://img.shields.io/badge/languages-28-blue" alt="Languages">
31
+ <img src="https://img.shields.io/badge/languages-31-blue" alt="Languages">
28
32
  </p>
29
33
 
30
34
  sem is a semantic version control tool that works on top of Git. It parses your code with tree-sitter, extracts every function, class, and method as an entity, and diffs at the entity level instead of lines. This means you see "function `blahh` was modified" instead of "lines x-y changed."
@@ -37,6 +41,12 @@ It works in any Git repo with no setup.
37
41
 
38
42
  ## Install
39
43
 
44
+ ```bash
45
+ curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/sem/main/install.sh | sh
46
+ ```
47
+
48
+ Or via Homebrew:
49
+
40
50
  ```bash
41
51
  brew install sem-cli
42
52
  ```
@@ -244,7 +254,7 @@ sem unsetup
244
254
 
245
255
  ## What it parses
246
256
 
247
- 28 programming languages with full entity extraction via tree-sitter:
257
+ 31 programming languages with full entity extraction via tree-sitter:
248
258
 
249
259
  | Language | Extensions | Entities |
250
260
  |----------|-----------|----------|
@@ -275,6 +285,9 @@ sem unsetup
275
285
  | Scala | `.scala` `.sc` `.sbt` | classes, objects, traits, enums, functions, vals, extensions |
276
286
  | Nix | `.nix` | bindings, inherit declarations |
277
287
  | Haskell | `.hs` | functions, signatures, data types, newtypes, classes, instances, type synonyms |
288
+ | Elm | `.elm` | value declarations, type aliases, type declarations, port annotations, infix declarations |
289
+ | Clojure | `.clj` `.cljs` `.cljc` | vars, functions, macros, multimethods, protocols, records, types |
290
+ | D | `.d` `.di` | modules, functions, classes, structs, interfaces, unions, enums, templates, aliases, unittests |
278
291
  | Zig | `.zig` | functions, tests, variables |
279
292
 
280
293
  Plus structured data formats:
@@ -284,6 +297,7 @@ Plus structured data formats:
284
297
  | JSON | `.json` | properties, objects (RFC 6901 paths) |
285
298
  | YAML | `.yml` `.yaml` | sections, properties (dot paths) |
286
299
  | TOML | `.toml` | sections, properties |
300
+ | EDN | `.edn` | top-level map entries (keyword keys) |
287
301
  | CSV | `.csv` `.tsv` | rows (first column as identity) |
288
302
  | Markdown | `.md` `.mdx` | heading-based sections |
289
303
 
@@ -392,6 +406,16 @@ Used by [weave](https://github.com/Ataraxy-Labs/weave) (semantic merge driver) a
392
406
  - **xxhash** for structural hashing
393
407
  - Plugin system for adding new languages and formats
394
408
 
409
+ ## Telemetry
410
+
411
+ sem collects anonymous usage data: the command name (e.g. `diff`, `impact`), CLI version, and operating system. Nothing else — no code, file paths, repo names, or user identity. Events are batched locally and sent in the background, so commands never wait on the network.
412
+
413
+ Disable it any time:
414
+
415
+ ```bash
416
+ export SEM_NO_TELEMETRY=1 # or DO_NOT_TRACK=1
417
+ ```
418
+
395
419
  ## Contributing
396
420
 
397
421
  Want to add a new language? See [CONTRIBUTING.md](CONTRIBUTING.md) for a step-by-step guide.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ataraxy-labs/sem",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "npm wrapper for the sem CLI. Downloads the matching release binary and exposes the sem command in node_modules/.bin.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "type": "module",