auden 0.1.0-alpha.2 → 0.1.0-alpha.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 +45 -4
- package/dist/auden-paths.d.ts +1 -0
- package/dist/auden-paths.d.ts.map +1 -1
- package/dist/auden-paths.js +1 -0
- package/dist/auden-paths.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +53 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/guides/index.d.ts.map +1 -1
- package/dist/commands/guides/index.js +6 -0
- package/dist/commands/guides/index.js.map +1 -1
- package/dist/commands/init.d.ts +15 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +199 -108
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/pull.js +2 -2
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/rules/export.d.ts.map +1 -1
- package/dist/commands/rules/export.js +3 -5
- package/dist/commands/rules/export.js.map +1 -1
- package/dist/commands/rules/import.d.ts.map +1 -1
- package/dist/commands/rules/import.js +7 -13
- package/dist/commands/rules/import.js.map +1 -1
- package/dist/commands/rules/index.d.ts.map +1 -1
- package/dist/commands/rules/index.js +1 -1
- package/dist/commands/rules/index.js.map +1 -1
- package/dist/commands/rules/watch.d.ts.map +1 -1
- package/dist/commands/rules/watch.js +3 -6
- package/dist/commands/rules/watch.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +4 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +10 -3
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/update.d.ts +18 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +116 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config.d.ts +61 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +104 -21
- package/dist/config.js.map +1 -1
- package/dist/dashboard-health.d.ts +3 -12
- package/dist/dashboard-health.d.ts.map +1 -1
- package/dist/dashboard-health.js +44 -3
- package/dist/dashboard-health.js.map +1 -1
- package/dist/eval-provider.d.ts.map +1 -1
- package/dist/eval-provider.js +2 -4
- package/dist/eval-provider.js.map +1 -1
- package/dist/hook-script.d.ts +27 -0
- package/dist/hook-script.d.ts.map +1 -0
- package/dist/hook-script.js +74 -0
- package/dist/hook-script.js.map +1 -0
- package/dist/hooks-settings.d.ts +65 -0
- package/dist/hooks-settings.d.ts.map +1 -0
- package/dist/hooks-settings.js +177 -0
- package/dist/hooks-settings.js.map +1 -0
- package/dist/http-retry.d.ts +8 -0
- package/dist/http-retry.d.ts.map +1 -1
- package/dist/http-retry.js +14 -1
- package/dist/http-retry.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -9
- package/dist/index.js.map +1 -1
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/rules/bundled-skills.d.ts +24 -0
- package/dist/rules/bundled-skills.d.ts.map +1 -0
- package/dist/rules/bundled-skills.js +27 -0
- package/dist/rules/bundled-skills.js.map +1 -0
- package/dist/rules/deletions-client.d.ts.map +1 -1
- package/dist/rules/deletions-client.js +1 -3
- package/dist/rules/deletions-client.js.map +1 -1
- package/dist/rules/discover.d.ts.map +1 -1
- package/dist/rules/discover.js +5 -0
- package/dist/rules/discover.js.map +1 -1
- package/dist/rules/import-client.d.ts.map +1 -1
- package/dist/rules/import-client.js +1 -3
- package/dist/rules/import-client.js.map +1 -1
- package/dist/rules/init-import.d.ts +24 -0
- package/dist/rules/init-import.d.ts.map +1 -0
- package/dist/rules/init-import.js +34 -0
- package/dist/rules/init-import.js.map +1 -0
- package/dist/rules/member-files-client.d.ts.map +1 -1
- package/dist/rules/member-files-client.js +2 -1
- package/dist/rules/member-files-client.js.map +1 -1
- package/dist/rules/pull-bundle.d.ts.map +1 -1
- package/dist/rules/pull-bundle.js +8 -1
- package/dist/rules/pull-bundle.js.map +1 -1
- package/dist/rules/watch.d.ts.map +1 -1
- package/dist/rules/watch.js +5 -0
- package/dist/rules/watch.js.map +1 -1
- package/dist/sync-client.d.ts.map +1 -1
- package/dist/sync-client.js +1 -3
- package/dist/sync-client.js.map +1 -1
- package/dist/sync-response.d.ts +0 -1
- package/dist/sync-response.d.ts.map +1 -1
- package/dist/sync-response.js.map +1 -1
- package/dist/token-verify.d.ts +9 -2
- package/dist/token-verify.d.ts.map +1 -1
- package/dist/token-verify.js +13 -3
- package/dist/token-verify.js.map +1 -1
- package/dist/update/assets.d.ts +65 -0
- package/dist/update/assets.d.ts.map +1 -0
- package/dist/update/assets.js +153 -0
- package/dist/update/assets.js.map +1 -0
- package/dist/update/cache.d.ts +46 -0
- package/dist/update/cache.d.ts.map +1 -0
- package/dist/update/cache.js +101 -0
- package/dist/update/cache.js.map +1 -0
- package/dist/update/install-manager.d.ts +51 -0
- package/dist/update/install-manager.d.ts.map +1 -0
- package/dist/update/install-manager.js +111 -0
- package/dist/update/install-manager.js.map +1 -0
- package/dist/update/notice.d.ts +113 -0
- package/dist/update/notice.d.ts.map +1 -0
- package/dist/update/notice.js +175 -0
- package/dist/update/notice.js.map +1 -0
- package/dist/update/perform.d.ts +68 -0
- package/dist/update/perform.d.ts.map +1 -0
- package/dist/update/perform.js +137 -0
- package/dist/update/perform.js.map +1 -0
- package/dist/update/registry.d.ts +32 -0
- package/dist/update/registry.d.ts.map +1 -0
- package/dist/update/registry.js +53 -0
- package/dist/update/registry.js.map +1 -0
- package/dist/update/version.d.ts +40 -0
- package/dist/update/version.d.ts.map +1 -0
- package/dist/update/version.js +101 -0
- package/dist/update/version.js.map +1 -0
- package/dist/url.d.ts +11 -0
- package/dist/url.d.ts.map +1 -0
- package/dist/url.js +13 -0
- package/dist/url.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -4
- package/dist/commands/eval/index.d.ts +0 -2
- package/dist/commands/eval/index.d.ts.map +0 -1
- package/dist/commands/eval/index.js +0 -2
- package/dist/commands/eval/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,6 +12,31 @@ npm install -g auden
|
|
|
12
12
|
|
|
13
13
|
A global install is required (not just `npx`) because the Claude Code Stop hook that `auden init` registers invokes `auden eval` from your agent's session — the binary must be on `PATH`. Node 20+ required.
|
|
14
14
|
|
|
15
|
+
## Staying up to date
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
auden update # update to the latest release
|
|
19
|
+
auden update --check # look, but don't install
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`auden update` works out how you installed the CLI (npm, bun, pnpm, yarn) and runs the matching command, staying on whichever channel you're on — an `auden@alpha` install updates to the next alpha, not to stable. If it can't tell how you installed it, it prints the command instead of guessing.
|
|
23
|
+
|
|
24
|
+
**Auden never updates itself in the background.** New code is only ever installed when you ask for it. What the CLI does do on its own is keep its *own generated files* in step: `~/.auden/hooks/log-action.mjs` is rewritten from the installed package when it's out of date, since upgrading the package alone would leave the old hook script running. Bundled skills in your repo's `.claude/skills/` are never rewritten silently — you may have edited them, so `auden doctor` reports drift and leaves the fix to you:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
auden init --skills-only # rewrite just the bundled skills, nothing else
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Use `--skills-only` rather than `--force` for this: `auden init --force` also resets `~/.auden/config.json` to defaults (discarding your stored API token) and replaces `AGENTS.md`.
|
|
31
|
+
|
|
32
|
+
Interactive commands check for a newer release at most once a day and print a one-line notice on stderr. The check is skipped entirely unless both stdout and stderr are terminals, so agent hooks, the MCP server, pipes, and CI never trigger it. To turn it off:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
export AUDEN_NO_UPDATE_CHECK=1 # or NO_UPDATE_NOTIFIER=1
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
…or set `"updateCheck": false` in `~/.auden/config.json`. The check reads npm's public registry for the published version number only; it sends nothing about you or your machine.
|
|
39
|
+
|
|
15
40
|
## Quick start
|
|
16
41
|
|
|
17
42
|
```bash
|
|
@@ -34,19 +59,35 @@ auden sync --token <token> # remembered after the first successful sync
|
|
|
34
59
|
|
|
35
60
|
| Command | What it does |
|
|
36
61
|
|---|---|
|
|
37
|
-
| `auden init` | Set up hooks, config (`~/.auden/`), and the Claude Code skill |
|
|
62
|
+
| `auden init` | Set up hooks, config (`~/.auden/`), and the Claude Code skill (`--skills-only` rewrites just the bundled skills) |
|
|
38
63
|
| `auden doctor` | Check your environment for common setup issues |
|
|
39
64
|
| `auden eval` | Evaluate logged session actions against active guides (run by the Stop hook) |
|
|
40
65
|
| `auden sync` | Push queued verdicts + extracted feedback, pull the guide bundle |
|
|
41
66
|
| `auden pull <bundle>` | Pull a context bundle's canonical items into a local directory as Markdown (default `.auden/context/<bundle>/`) |
|
|
42
67
|
| `auden mcp` | Run the Auden MCP server, exposing your context layer (bundles + inbox) to any agent |
|
|
43
|
-
| `auden
|
|
44
|
-
| `auden
|
|
45
|
-
| `auden
|
|
68
|
+
| `auden guides import` | Send this repo's existing guide files (`AGENTS.md`, `.agents/`, `CLAUDE.md`, `.claude/rules/`, `.cursorrules`, `.cursor/rules/*.mdc`) to your dashboard |
|
|
69
|
+
| `auden guides export` | Write your dashboard guides back to disk (dry-run by default) |
|
|
70
|
+
| `auden guides watch` | Keep imported guide files in sync as they change |
|
|
46
71
|
| `auden guides active` / `search` | List or search your synced guides |
|
|
47
72
|
| `auden verdict record` | Record a manual verdict for an action |
|
|
48
73
|
| `auden suggest` | Review pending guide suggestions |
|
|
49
74
|
| `auden status` | Show queue + config status |
|
|
75
|
+
| `auden update` | Update the CLI to the latest release (`--check` to look without installing) |
|
|
76
|
+
|
|
77
|
+
`import` / `export` / `watch` are also spelled `auden rules <command>` — the older name, kept working.
|
|
78
|
+
|
|
79
|
+
### Bringing an existing repo's guides in
|
|
80
|
+
|
|
81
|
+
If the repo already has an `AGENTS.md`, `CLAUDE.md`, `.cursorrules`, or skills, `auden init` finds them and offers to import them once a token is configured (`--import-guides` / `--no-import-guides` to answer without the prompt). To do it later, or after adding a new guide file:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
auden guides import # preview, then confirm
|
|
85
|
+
auden guides import --all # no prompt
|
|
86
|
+
auden guides import --global # also scan ~/.claude/CLAUDE.md
|
|
87
|
+
auden guides watch # keep pushing changes as you edit
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Both read the dashboard URL from `~/.auden/config.json`, so a `--dashboard-url` passed to `auden init` (e.g. a staging dashboard) carries over; `--dashboard-url` overrides it for a single call. Auden's own bundled skills (`.claude/skills/auden/`, `.claude/skills/auden-context/`) are never imported.
|
|
50
91
|
|
|
51
92
|
## Privacy
|
|
52
93
|
|
package/dist/auden-paths.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export declare const AUDEN_HOOK_SCRIPT: string;
|
|
|
5
5
|
export declare const AUDEN_RUNS_DIR: string;
|
|
6
6
|
export declare const AUDEN_QUEUE_DIR: string;
|
|
7
7
|
export declare const AUDEN_GUIDES_FILE: string;
|
|
8
|
+
export declare const AUDEN_UPDATE_CACHE: string;
|
|
8
9
|
//# sourceMappingURL=auden-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auden-paths.d.ts","sourceRoot":"","sources":["../src/auden-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,QAA4B,CAAA;AACnD,eAAO,MAAM,YAAY,QAAkC,CAAA;AAC3D,eAAO,MAAM,eAAe,QAA4B,CAAA;AACxD,eAAO,MAAM,iBAAiB,QAA0C,CAAA;AACxE,eAAO,MAAM,cAAc,QAA2B,CAAA;AACtD,eAAO,MAAM,eAAe,QAA4B,CAAA;AACxD,eAAO,MAAM,iBAAiB,QAAkC,CAAA"}
|
|
1
|
+
{"version":3,"file":"auden-paths.d.ts","sourceRoot":"","sources":["../src/auden-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,QAA4B,CAAA;AACnD,eAAO,MAAM,YAAY,QAAkC,CAAA;AAC3D,eAAO,MAAM,eAAe,QAA4B,CAAA;AACxD,eAAO,MAAM,iBAAiB,QAA0C,CAAA;AACxE,eAAO,MAAM,cAAc,QAA2B,CAAA;AACtD,eAAO,MAAM,eAAe,QAA4B,CAAA;AACxD,eAAO,MAAM,iBAAiB,QAAkC,CAAA;AAChE,eAAO,MAAM,kBAAkB,QAAwC,CAAA"}
|
package/dist/auden-paths.js
CHANGED
|
@@ -7,4 +7,5 @@ export const AUDEN_HOOK_SCRIPT = join(AUDEN_HOOKS_DIR, 'log-action.mjs');
|
|
|
7
7
|
export const AUDEN_RUNS_DIR = join(AUDEN_HOME, 'runs');
|
|
8
8
|
export const AUDEN_QUEUE_DIR = join(AUDEN_HOME, 'queue');
|
|
9
9
|
export const AUDEN_GUIDES_FILE = join(AUDEN_HOME, 'guides.json');
|
|
10
|
+
export const AUDEN_UPDATE_CACHE = join(AUDEN_HOME, 'update-check.json');
|
|
10
11
|
//# sourceMappingURL=auden-paths.js.map
|
package/dist/auden-paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auden-paths.js","sourceRoot":"","sources":["../src/auden-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"auden-paths.js","sourceRoot":"","sources":["../src/auden-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAkEA,eAAO,MAAM,aAAa;;;;;;;;;;;EAwIxB,CAAA"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -3,9 +3,13 @@ import { access, readFile } from 'node:fs/promises';
|
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { defineCommand } from 'citty';
|
|
5
5
|
import { AUDEN_HOOK_SCRIPT } from '../auden-paths.js';
|
|
6
|
-
import {
|
|
6
|
+
import { AUDEN_TOKEN_ENV, readEnvToken, resolveDashboardUrl, resolveToken, } from '../config.js';
|
|
7
7
|
import { describeDashboardHealth } from '../dashboard-health.js';
|
|
8
8
|
import { verifyDashboardToken } from '../token-verify.js';
|
|
9
|
+
import { detectBundledSkillDrift, refreshHookScriptIfStale } from '../update/assets.js';
|
|
10
|
+
import { checkForUpdate, formatUpdateNotice } from '../update/notice.js';
|
|
11
|
+
import { performUpdate, syncGeneratedAssets } from '../update/perform.js';
|
|
12
|
+
import { CLI_VERSION } from '../version.js';
|
|
9
13
|
function detectBunVersion() {
|
|
10
14
|
// When the CLI itself is running under Bun, the version is already available.
|
|
11
15
|
if (typeof process.versions['bun'] !== 'undefined') {
|
|
@@ -67,6 +71,11 @@ export const doctorCommand = defineCommand({
|
|
|
67
71
|
const bun = detectBunVersion();
|
|
68
72
|
const hookInstalled = await checkHookScriptInstalled();
|
|
69
73
|
const hooksConfigured = await checkClaudeCodeHooksConfigured();
|
|
74
|
+
// Bring the machine-owned hook script back in step before reporting on it,
|
|
75
|
+
// so `doctor` fixes the common post-upgrade staleness rather than merely
|
|
76
|
+
// naming it. No-op when the script is absent or already current.
|
|
77
|
+
const hookRefresh = await refreshHookScriptIfStale();
|
|
78
|
+
const skillDrift = await detectBundledSkillDrift(process.cwd());
|
|
70
79
|
const checks = [
|
|
71
80
|
{
|
|
72
81
|
label: 'Node version',
|
|
@@ -91,6 +100,7 @@ export const doctorCommand = defineCommand({
|
|
|
91
100
|
: 'not configured — run `auden init` in your project',
|
|
92
101
|
},
|
|
93
102
|
];
|
|
103
|
+
console.log(` auden ${CLI_VERSION}`);
|
|
94
104
|
let allOk = true;
|
|
95
105
|
for (const check of checks) {
|
|
96
106
|
const icon = check.ok ? '✓' : '✗';
|
|
@@ -104,21 +114,60 @@ export const doctorCommand = defineCommand({
|
|
|
104
114
|
// the dashboard so a silently-401ing (expired/revoked) token surfaces as a
|
|
105
115
|
// broken connection instead of a misleading "configured" — that gap is the
|
|
106
116
|
// activation-failure signal this check exists to close.
|
|
107
|
-
const token = await
|
|
117
|
+
const token = await resolveToken().catch(() => '');
|
|
108
118
|
if (!token) {
|
|
109
119
|
console.log(` i ${describeDashboardHealth('unconfigured', '')}`);
|
|
110
120
|
}
|
|
111
121
|
else {
|
|
122
|
+
// Name the source when it is the environment: in an ephemeral container
|
|
123
|
+
// "which token is this?" is the first question a failed sync raises, and
|
|
124
|
+
// an env var leaves no trace in ~/.auden/config.json to inspect.
|
|
125
|
+
if (readEnvToken()) {
|
|
126
|
+
console.log(` i token from $${AUDEN_TOKEN_ENV}`);
|
|
127
|
+
}
|
|
112
128
|
const dashboardUrl = await resolveDashboardUrl(args['dashboard-url']);
|
|
113
129
|
const verification = await verifyDashboardToken(dashboardUrl, token);
|
|
114
130
|
console.log(` i ${describeDashboardHealth(verification, dashboardUrl)}`);
|
|
115
131
|
}
|
|
132
|
+
// Generated-asset state. The hook script is machine-owned and was already
|
|
133
|
+
// refreshed above; repo-local skills are user-editable, so they are only
|
|
134
|
+
// reported (see update/assets.ts for why the two differ).
|
|
135
|
+
if (hookRefresh.status === 'refreshed') {
|
|
136
|
+
console.log(` i refreshed ~/.auden/hooks/log-action.mjs (${hookRefresh.from ?? 'unstamped'} → ${hookRefresh.to})`);
|
|
137
|
+
}
|
|
138
|
+
else if (hookRefresh.status === 'failed') {
|
|
139
|
+
console.log(` i could not refresh ~/.auden/hooks/log-action.mjs — ${hookRefresh.error}`);
|
|
140
|
+
}
|
|
141
|
+
if (skillDrift.length > 0) {
|
|
142
|
+
const paths = skillDrift.map((d) => d.path).join(', ');
|
|
143
|
+
console.log(` i bundled skills differ from this CLI's version: ${paths}\n` +
|
|
144
|
+
' run `auden init --skills-only` to rewrite them (this overwrites local edits)');
|
|
145
|
+
}
|
|
116
146
|
if (!allOk) {
|
|
117
147
|
console.error('\nSome checks failed. See above for details.');
|
|
118
148
|
process.exit(1);
|
|
119
149
|
}
|
|
120
|
-
|
|
121
|
-
|
|
150
|
+
console.log('\nAll checks passed.');
|
|
151
|
+
// Doctor is the "check and fix my setup" surface, so it is the one place
|
|
152
|
+
// that offers to run the update rather than just naming it. Suppressed
|
|
153
|
+
// exactly like the ambient notice (TTY, env, config) via checkForUpdate.
|
|
154
|
+
const update = await checkForUpdate();
|
|
155
|
+
if (!update)
|
|
156
|
+
return;
|
|
157
|
+
process.stderr.write(formatUpdateNotice(update));
|
|
158
|
+
if (!process.stdin.isTTY)
|
|
159
|
+
return;
|
|
160
|
+
const result = await performUpdate(update, { assumeYes: false });
|
|
161
|
+
if (result.status === 'updated') {
|
|
162
|
+
console.log(result.installedVersion
|
|
163
|
+
? `\nUpdated: ${update.current} → ${result.installedVersion}`
|
|
164
|
+
: '\nInstall reported success, but `auden --version` could not be run.');
|
|
165
|
+
await syncGeneratedAssets(process.cwd());
|
|
166
|
+
}
|
|
167
|
+
else if (result.status === 'failed') {
|
|
168
|
+
// Reported, but never fails `doctor` — the environment checks above all
|
|
169
|
+
// passed, and that is what this command's exit code means.
|
|
170
|
+
console.warn(`\nUpdate failed: ${result.detail}\n Run it yourself: ${result.command}`);
|
|
122
171
|
}
|
|
123
172
|
},
|
|
124
173
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/guides/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/guides/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,qDAgBxB,CAAA"}
|
|
@@ -5,6 +5,12 @@ export const guidesCommand = defineCommand({
|
|
|
5
5
|
description: 'Generate and manage project guides',
|
|
6
6
|
},
|
|
7
7
|
subCommands: {
|
|
8
|
+
// Same command object as `auden rules import`. "guides" is the noun the
|
|
9
|
+
// dashboard and the rest of the CLI use, so that is where people look for
|
|
10
|
+
// it first; `rules import` stays for anyone who already learned it.
|
|
11
|
+
import: () => import('../rules/import.js').then((m) => m.rulesImportCommand),
|
|
12
|
+
export: () => import('../rules/export.js').then((m) => m.rulesExportCommand),
|
|
13
|
+
watch: () => import('../rules/watch.js').then((m) => m.rulesWatchCommand),
|
|
8
14
|
project: () => import('./project.js').then((m) => m.guidesProjectCommand),
|
|
9
15
|
active: () => import('./active.js').then((m) => m.guidesActiveCommand),
|
|
10
16
|
search: () => import('./search.js').then((m) => m.guidesSearchCommand),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/guides/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;KAClD;IACD,WAAW,EAAE;QACX,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACzE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACtE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;KACvE;CACF,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/guides/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;KAClD;IACD,WAAW,EAAE;QACX,wEAAwE;QACxE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC5E,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC5E,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACzE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACzE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACtE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;KACvE;CACF,CAAC,CAAA"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export declare const initCommand: import("citty").CommandDef<{
|
|
|
9
9
|
description: string;
|
|
10
10
|
default: false;
|
|
11
11
|
};
|
|
12
|
+
'skills-only': {
|
|
13
|
+
type: "boolean";
|
|
14
|
+
description: string;
|
|
15
|
+
default: false;
|
|
16
|
+
};
|
|
12
17
|
'no-eval-hook': {
|
|
13
18
|
type: "boolean";
|
|
14
19
|
description: string;
|
|
@@ -29,6 +34,16 @@ export declare const initCommand: import("citty").CommandDef<{
|
|
|
29
34
|
description: string;
|
|
30
35
|
default: false;
|
|
31
36
|
};
|
|
37
|
+
'import-guides': {
|
|
38
|
+
type: "boolean";
|
|
39
|
+
description: string;
|
|
40
|
+
default: false;
|
|
41
|
+
};
|
|
42
|
+
'no-import-guides': {
|
|
43
|
+
type: "boolean";
|
|
44
|
+
description: string;
|
|
45
|
+
default: false;
|
|
46
|
+
};
|
|
32
47
|
'dashboard-url': {
|
|
33
48
|
type: "string";
|
|
34
49
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA2EA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgiBtB,CAAA"}
|