neat.is 0.2.5 → 0.2.7

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
@@ -2,15 +2,26 @@
2
2
 
3
3
  NEAT keeps a live semantic graph of a software system — code, infrastructure, runtime — and exposes it to AI agents over MCP.
4
4
 
5
+ ## Prerequisites
6
+
7
+ - **Node.js 20 or newer.** Enforced via `engines`; older versions fail at install.
8
+ - **A C toolchain**, because `@neat.is/core` builds native bindings for `tree-sitter` (JS, TS, Python parsers) at install time:
9
+ - macOS: Xcode Command Line Tools (`xcode-select --install`)
10
+ - Debian/Ubuntu: `build-essential` plus `python3` (for `node-gyp`)
11
+ - Alpine: `build-base python3`
12
+ - Windows: Visual Studio Build Tools with the "Desktop development with C++" workload
13
+
14
+ If `npm install -g neat.is` fails partway through with a `gyp` error, the toolchain is the cause. Install it and re-run.
15
+
5
16
  ## Install
6
17
 
7
18
  ```bash
8
19
  npm install -g neat.is
9
20
  ```
10
21
 
11
- That gives you three binaries:
22
+ That puts three binaries on your PATH:
12
23
 
13
- - `neat` — CLI (init, watch, list, skill, etc.)
24
+ - `neat` — CLI (init, watch, list, skill, plus the nine query verbs that mirror the MCP tool surface)
14
25
  - `neatd` — daemon (start, stop, status, reload)
15
26
  - `neat-mcp` — MCP stdio server for Claude Code and other agents
16
27
 
@@ -21,7 +32,7 @@ neat init /path/to/your/repo --project myrepo
21
32
  neatd start
22
33
  ```
23
34
 
24
- Snapshot lands at `<repo>/neat-out/myrepo.json`. The daemon watches for file changes and OTel traces and keeps the graph live.
35
+ Snapshot lands at `<repo>/neat-out/myrepo.json`. The daemon watches for file changes and OTel traces (`:4318` HTTP by default) and keeps the graph live.
25
36
 
26
37
  ## What's in the box
27
38
 
package/bin/neat ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ // Bin shim — `npm install -g neat.is` puts this on PATH as `neat`.
3
+ // argv[1] ends in `/neat`, which @neat.is/core/dist/cli.cjs's existing
4
+ // entry detection already matches; requiring the file is enough to fire main().
5
+ require('@neat.is/core/dist/cli.cjs')
package/bin/neat-mcp ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ // Bin shim — `npm install -g neat.is` puts this on PATH as `neat-mcp`.
3
+ // @neat.is/mcp/dist/index.cjs unconditionally calls main() at module load,
4
+ // so requiring it fires the stdio MCP server.
5
+ require('@neat.is/mcp/dist/index.cjs')
package/bin/neatd ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ // Bin shim — `npm install -g neat.is` puts this on PATH as `neatd`.
3
+ // argv[1] ends in `/neatd`, which @neat.is/core/dist/neatd.cjs's existing
4
+ // entry detection already matches; requiring the file is enough to fire main().
5
+ require('@neat.is/core/dist/neatd.cjs')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neat.is",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "NEAT — live semantic graph of a software system, queryable from AI agents over MCP. Install once, get the neat / neatd / neat-mcp CLIs.",
5
5
  "license": "BUSL-1.1",
6
6
  "homepage": "https://neat.is",
@@ -12,10 +12,18 @@
12
12
  "publishConfig": {
13
13
  "access": "public"
14
14
  },
15
- "files": ["README.md"],
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "bin": {
19
+ "neat": "./bin/neat",
20
+ "neatd": "./bin/neatd",
21
+ "neat-mcp": "./bin/neat-mcp"
22
+ },
23
+ "files": ["bin", "README.md"],
16
24
  "dependencies": {
17
- "@neat.is/core": "^0.2.5",
18
- "@neat.is/mcp": "^0.2.5",
19
- "@neat.is/claude-skill": "^0.2.5"
25
+ "@neat.is/core": "^0.2.7",
26
+ "@neat.is/mcp": "^0.2.7",
27
+ "@neat.is/claude-skill": "^0.2.7"
20
28
  }
21
29
  }