@njeybe/nativ 2.0.0 → 2.0.2

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,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.2
4
+
5
+ - **`nativ doctor` no longer reports a failure on a brand-new project.** Right after `nativ init`, Claude Code lists the project's `nativ` MCP server as "Pending approval" until you approve it, which is the expected first state. Doctor showed it as a red failure and exited 1. It is now a warning that tells you to open `claude` in the folder and approve the server; a server that genuinely fails to connect is still a failure.
6
+
7
+ ## 2.0.1
8
+
9
+ Documentation and package metadata only; no behaviour changes.
10
+
11
+ - **npm is the only install path.** The source repository is private, so the instructions for `npm install -g github:…` and for adding the plugin marketplace were removed from the README and the installation guide. `nativ setup` is the complete route: it writes the agents, the enforcement hook, the MCP entry and the permission rules, which a plugin cannot ship.
12
+ - The plugin files still ship inside the package (`plugin/`) and can be tried for one session with `claude --plugin-dir`.
13
+ - `package.json` no longer declares `repository`, `homepage` or `bugs`, so the npm page has no dead links.
14
+ - The 2.0.0 entry below still mentions the plugin marketplace; that route is not available outside the private repository.
15
+
3
16
  ## 2.0.0
4
17
 
5
18
  nativ is now role-based and Claude-first. The roles (architect, project manager, worker, verifier) are fixed; the model behind each one is configurable, and Claude Code is the default host for all of them. Antigravity and Gemini still work as an optional architect.
package/README.md CHANGED
@@ -36,17 +36,14 @@ Why it works:
36
36
 
37
37
  ### 1. Install
38
38
 
39
- You need Node.js 20 or newer and Git. You do **not** need a clone of this repository.
39
+ You need Node.js 20 or newer and Git.
40
40
 
41
41
  ```bash
42
- # From npm
43
42
  npm install -g @njeybe/nativ
44
-
45
- # Or straight from GitHub (builds on install, about a minute)
46
- npm install -g github:njeybe/nativ
43
+ nativ --version
47
44
  ```
48
45
 
49
- Check it with `nativ --version`. Developing nativ itself? See [docs/installation.md](docs/installation.md) for the clone and `npm link` route.
46
+ The package is `@njeybe/nativ`; the command is `nativ`. More options, including running it without installing, are in [docs/installation.md](docs/installation.md).
50
47
 
51
48
  ### 2. Set up a project
52
49
 
@@ -69,14 +66,11 @@ Setup **merges**: it never overwrites your own settings, hooks, MCP servers or e
69
66
 
70
67
  Open Claude Code in the folder once and accept the workspace trust dialog. Until you do, Claude Code ignores the project's `permissions.allow` entries.
71
68
 
72
- ### 3. Or install it as a Claude Code plugin
69
+ ### 3. About the Claude Code plugin
73
70
 
74
- ```text
75
- /plugin marketplace add njeybe/nativ
76
- /plugin install nativ@nativ
77
- ```
71
+ You do not need the plugin. `nativ setup` writes the same agents, enforcement hook and MCP entry into your project, and also the permission rules that deny `nativ task unlock` and `nativ db sync`, block reading `.env*` files, and make Claude Code ask before any write under `.ai/`. **A plugin cannot ship permission rules**, so `nativ setup` is the complete route.
78
72
 
79
- The plugin brings the agents, the enforcement hooks, the MCP server and a skill that teaches the task loop. It calls the `nativ` command, so install the CLI first. **A plugin cannot ship permission rules**, so also run `nativ setup` in the project to add the rules that deny `nativ task unlock` and `nativ db sync`, block reading `.env*` files, and make Claude Code ask before any write under `.ai/`.
73
+ The plugin files ship inside the package (`plugin/`). To try them for a single Claude Code session, point `claude --plugin-dir` at that folder under your global `node_modules` (`npm root -g` prints its location).
80
74
 
81
75
  ### 4. Work
82
76
 
@@ -96,7 +90,7 @@ Run it after updating Claude Code or nativ. It also asks Claude Code itself whet
96
90
  ### 6. Update
97
91
 
98
92
  ```bash
99
- npm install -g @njeybe/nativ@latest # or: npm install -g github:njeybe/nativ
93
+ npm install -g @njeybe/nativ@latest
100
94
  nativ update # in each project
101
95
  nativ doctor
102
96
  ```
@@ -38,6 +38,13 @@ export function analyzeMcpList(text) {
38
38
  else if (/Connected/.test(line)) {
39
39
  checks.push({ id: 'mcp-connected', status: 'ok', message: `Claude Code connects to the nativ MCP server (${line.replace(/\s+-\s+.*$/, '').trim()})` });
40
40
  }
41
+ else if (/Pending approval/i.test(line)) {
42
+ // A new project's .mcp.json is not started until the user approves it. That is the expected first state.
43
+ checks.push({ id: 'mcp-pending', status: 'warn', message: 'The nativ MCP server is waiting for your approval. Open `claude` in this folder and approve it; nothing is wrong with the setup.' });
44
+ }
45
+ else if (/Needs authentication/i.test(line)) {
46
+ checks.push({ id: 'mcp-auth', status: 'warn', message: `Claude Code says the nativ MCP server needs authentication: ${line.trim()}` });
47
+ }
41
48
  else {
42
49
  checks.push({ id: 'mcp-connected', status: 'fail', message: `Claude Code lists the nativ MCP server but it is not connected: ${line.trim()}` });
43
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@njeybe/nativ",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Role-based multi-agent workflow harness: Claude Code by default, other AI agents pluggable",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,14 +24,6 @@
24
24
  "start": "node bin/cli.js",
25
25
  "test": "node tests/test-task-router.mjs && node tests/test-contract-generator.mjs && node tests/test-verify-gatekeeper.mjs && node tests/test-mcp-server.mjs && node tests/test-data-studio.mjs && node tests/test-fragmented-env.mjs && node tests/test-env-example-detection.mjs && node tests/test-contract-governor.mjs && node tests/test-worktree-lifecycle.mjs && node tests/test-agent-supervisor.mjs && node tests/test-concurrency-locks.mjs && node tests/test-telemetry-engine.mjs && node tests/test-benchmark-suite.mjs && node tests/test-providers.mjs && node tests/test-tier1-liaison.mjs && node tests/test-enforcement.mjs && node tests/test-setup-doctor.mjs && node tests/test-update.mjs && node tests/test-validate.mjs && node tests/test-plugin-manifest.mjs && node tests/test-v2-e2e.mjs && npx tsx tests/test-studio-pipeline-api.mjs && npx tsx tests/test-studio-light-ui.mjs"
26
26
  },
27
- "repository": {
28
- "type": "git",
29
- "url": "git+https://github.com/njeybe/nativ.git"
30
- },
31
- "homepage": "https://github.com/njeybe/nativ#readme",
32
- "bugs": {
33
- "url": "https://github.com/njeybe/nativ/issues"
34
- },
35
27
  "keywords": [
36
28
  "ai",
37
29
  "agent",
@@ -1,13 +1,11 @@
1
1
  {
2
2
  "name": "nativ",
3
3
  "displayName": "nativ",
4
- "version": "2.0.0",
4
+ "version": "2.0.2",
5
5
  "description": "Role-based multi-agent workflow for Claude Code: architect, worker and verifier agents, task-scope enforcement, and the nativ MCP server.",
6
6
  "author": {
7
7
  "name": "JB Natividad"
8
8
  },
9
- "homepage": "https://github.com/njeybe/nativ",
10
- "repository": "https://github.com/njeybe/nativ",
11
9
  "license": "MIT",
12
10
  "keywords": [
13
11
  "multi-agent",