@noir-ai/cli 1.3.0-beta.6 → 1.4.0-beta.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/README.md CHANGED
@@ -13,34 +13,34 @@ Noir wires three capabilities every long-running agent loses without help:
13
13
  ## Install
14
14
 
15
15
  ```bash
16
- npm install -g @noir-ai/cli
16
+ npm install -g @noir-ai/cli@beta
17
17
  # or use it on the fly:
18
- npx @noir-ai/cli init
18
+ npx @noir-ai/cli@beta init
19
19
  ```
20
20
 
21
- Requires Node ≥ 20.
21
+ Requires Node ≥ 22.
22
22
 
23
23
  ## Quick start
24
24
 
25
25
  ```bash
26
26
  # 1. Initialize a project (from the project you want Noir to manage)
27
27
  cd /path/to/your/project
28
- noir init # scaffolds .noir/ + emits 31 builtin skills + host wiring
28
+ noir init # scaffolds .noir/ + host wiring + skills where supported
29
29
 
30
30
  # 2. Open the project in Claude Code (the v1 host) → it auto-spawns the Noir MCP server.
31
31
  ```
32
32
 
33
- `noir init` creates `.noir/` (project id, `config.yml`, `NOIR.md`, the SQLite store), root `.mcp.json`, a managed `CLAUDE.md` `@import` block, and the **31 native `noir-*` skills** in `.claude/skills/`. There is no plugin and no marketplace — `noir init` / `noir sync` overwrite the `noir-*` namespace idempotently.
33
+ `noir init` defaults to Claude: it creates `.noir/` (project id, `config.yml`, `NOIR.md`, the SQLite store), root `.mcp.json`, a managed `CLAUDE.md` `@import` block, and the **34 native `noir-*` skills** (33 builtins + 1 integration) in `.claude/skills/`. Pass `--host` for agents-md, Gemini, Cursor, or OpenCode; only Claude and Cursor emit skills. There is no plugin and no marketplace — `noir init` / `noir sync` overwrite the managed `noir-*` namespace idempotently.
34
34
 
35
35
  ## Commands
36
36
 
37
- `noir` (home menu / `status --json`), `status [--json]`, `init`, `sync`, `mcp serve [--stdio]`, `daemon {start|stop|status|restart}`, `context {search|index|status}`, `memory {recall|save|sessions|forget|consolidate}`, `skills {list|sync}`, `task {new|status|advance|next}`, `doctor`.
37
+ `noir` (home menu / `status --json`), `status [--json]`, `init`, `sync`, `mcp serve [--stdio]`, `daemon {start|stop|status|restart}`, `context {search|index|status}`, `memory {recall|save|sessions|forget|consolidate}`, `skills {list|sync}`, `task {new|status|advance|next}`, `handoff [--write]`, `wrap [--write]`, `tui`, `doctor`.
38
38
 
39
39
  Global flags: `--json`, `--no-input`, `--quiet`, `--verbose`, `--cwd`. Data → stdout, diagnostics → stderr. Exit codes: `0` ok · `1` error · `2` usage · `3` not-found · `4` daemon-down · `5` cancelled.
40
40
 
41
41
  ## The toolkit
42
42
 
43
- This package is the CLI shell. Noir is a pnpm monorepo of 10 `@noir-ai/*` packages: `core`, `store`, `workflow`, `skills`, `daemon`, `adapters`, `cli`, `context`, `model`, `memory`.
43
+ This package is the CLI shell. Noir is a pnpm monorepo of 11 `@noir-ai/*` packages: `core`, `store`, `workflow`, `skills`, `daemon`, `adapters`, `cli`, `context`, `model`, `memory`, and `create`.
44
44
 
45
45
  - **Full toolkit overview:** [root README](../../README.md)
46
46
  - **Getting-started walkthrough:** [docs/getting-started.md](../../docs/getting-started.md)
package/dist/bin.d.ts CHANGED
@@ -1,6 +1,34 @@
1
1
  import { Command } from 'commander';
2
- export { E as EXIT, N as NoirCliError, f as fail, i as inferExitCode } from './output-De3lKbZq.js';
2
+ import { C as CliOptions } from './output-BNE9htEm.js';
3
+ export { E as EXIT, N as NoirCliError, f as fail, i as inferExitCode } from './output-BNE9htEm.js';
3
4
 
5
+ /** One entry in the {@link DEPRECATIONS} registry. */
6
+ interface DeprecationEntry {
7
+ /** Old command form as a path prefix, e.g. `['legacy-status']` or
8
+ * `['context','legacy']`. Matched against the dispatched command's path
9
+ * (program name `noir` stripped). */
10
+ readonly oldArgv: readonly string[];
11
+ /** Replacement command form, e.g. `['status']`. Shown in the redirect hint. */
12
+ readonly newArgv: readonly string[];
13
+ /** Version the deprecation started in, e.g. `'1.4.0'`. */
14
+ readonly since: string;
15
+ }
16
+ /**
17
+ * Deprecation registry. **Empty today** — no `noir` command is deprecated.
18
+ * When adding an entry, also update `docs/deprecation.md` (and, if the old
19
+ * form still routes, add a redirect). {@link emitDeprecationHintsFor} scans
20
+ * this on every dispatch and emits one `tip()` per match; `--no-tips` /
21
+ * `--json` suppress the hint (see {@link tip}).
22
+ */
23
+ declare const DEPRECATIONS: DeprecationEntry[];
24
+ /**
25
+ * Emit one redirect hint per matching {@link DEPRECATIONS} entry for the
26
+ * dispatched command. Respects `--no-tips` and `--json` via {@link tip} (a CI
27
+ * run's stderr stays quiet and its stdout envelope stays pristine). Exported so
28
+ * tests can drive it with a temporarily-populated registry without going
29
+ * through commander.
30
+ */
31
+ declare function emitDeprecationHintsFor(cmd: Command, opts: CliOptions): void;
4
32
  declare function createProgram(): Command;
5
33
  /** Singleton program used by the bin entry (`run`) and re-exported for convenience. */
6
34
  declare const program: Command;
@@ -11,4 +39,4 @@ declare const program: Command;
11
39
  */
12
40
  declare function run(argv?: readonly string[]): Promise<number>;
13
41
 
14
- export { createProgram, program, run };
42
+ export { DEPRECATIONS, type DeprecationEntry, createProgram, emitDeprecationHintsFor, program, run };