coding-friend-cli 1.35.5 → 1.35.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 +17 -0
- package/dist/{clean-MQGVJTMG.js → clean-VFWQ4AJP.js} +3 -16
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
CLI companion for the [coding-friend](https://github.com/dinhanhthi/coding-friend) plugin — a lean toolkit for disciplined engineering workflows with Claude Code.
|
|
4
4
|
|
|
5
|
+
## Plugin without the CLI?
|
|
6
|
+
|
|
7
|
+
If you installed the Coding Friend plugin through the Claude Code marketplace but cannot install or run this CLI (npm errors, sandboxed environment, restricted machine), **the plugin still works**. You lose:
|
|
8
|
+
|
|
9
|
+
- Fast indexed memory search — falls back to `grep -r '<query>' docs/memory/`
|
|
10
|
+
- The `coding-friend-learn-host` doc viewer — open `docs/learn/*.md` directly in your editor
|
|
11
|
+
- The `cf statusline` renderer — Claude Code's default statusline takes over
|
|
12
|
+
|
|
13
|
+
Everything else (every skill, every agent, every hook except the three OPTIONAL hooks above) is unaffected. See [`../docs/cli-requirements.md`](../docs/cli-requirements.md) for the full matrix.
|
|
14
|
+
|
|
15
|
+
### Common CLI install issues
|
|
16
|
+
|
|
17
|
+
- **`node` not found** — install Node.js 20+ from <https://nodejs.org> (the CLI declares `engines.node >= 20`; older versions will refuse to install).
|
|
18
|
+
- **`EACCES` on global install** — set a user-writable global prefix: `npm config set prefix ~/.npm-global` and add `~/.npm-global/bin` to your `PATH`.
|
|
19
|
+
- **`cf` not on PATH after install** — verify with `npm root -g` and ensure that directory's `bin/` is in your `PATH`.
|
|
20
|
+
- **MCP server not appearing in Claude Code** — after install, run `cf mcp` to register the memory MCP, then restart Claude Code.
|
|
21
|
+
|
|
5
22
|
## Requirements
|
|
6
23
|
|
|
7
24
|
- Node.js >= 20
|
|
@@ -18,15 +18,6 @@ import { join, relative } from "path";
|
|
|
18
18
|
import { checkbox, confirm, input, select } from "@inquirer/prompts";
|
|
19
19
|
import chalk from "chalk";
|
|
20
20
|
var DATE_PREFIX_RE = /^(\d{4}-\d{2}-\d{2})/;
|
|
21
|
-
var RANGE_LABELS = {
|
|
22
|
-
more_than_1_day: "more than 1 day old",
|
|
23
|
-
more_than_3_days: "more than 3 days old",
|
|
24
|
-
more_than_1_week: "more than 1 week old",
|
|
25
|
-
more_than_1_month: "more than 1 month old",
|
|
26
|
-
more_than_1_year: "more than 1 year old",
|
|
27
|
-
before_date: "before custom date",
|
|
28
|
-
all: "all files"
|
|
29
|
-
};
|
|
30
21
|
function parseDateFromName(name) {
|
|
31
22
|
const m = DATE_PREFIX_RE.exec(name);
|
|
32
23
|
if (!m) return null;
|
|
@@ -149,17 +140,13 @@ async function cleanCommand() {
|
|
|
149
140
|
console.log();
|
|
150
141
|
return;
|
|
151
142
|
}
|
|
152
|
-
console.log();
|
|
153
|
-
const { range, cutoff } = await promptDateRange();
|
|
154
|
-
console.log();
|
|
155
143
|
const now = /* @__PURE__ */ new Date();
|
|
156
144
|
const summary = [];
|
|
157
145
|
for (const entry of cleanable.filter((c) => selected.includes(c.key))) {
|
|
158
146
|
const relPath = relative(process.cwd(), entry.path);
|
|
159
|
-
|
|
160
|
-
console.log(
|
|
161
|
-
|
|
162
|
-
);
|
|
147
|
+
console.log();
|
|
148
|
+
console.log(`${chalk.yellow("\u2192")} ${chalk.bold(entry.key)} (${relPath})`);
|
|
149
|
+
const { range, cutoff } = await promptDateRange();
|
|
163
150
|
const isMemory = entry.key === "memory";
|
|
164
151
|
const message = isMemory ? `Delete matching contents of ${relPath}/? (includes SQLite databases \u2014 stop memory daemon first if running)` : `Delete matching contents of ${relPath}/?`;
|
|
165
152
|
const ok = await confirm({ message, default: false });
|
package/dist/index.js
CHANGED
|
@@ -73,7 +73,7 @@ program.command("status").description("Show comprehensive Coding Friend status")
|
|
|
73
73
|
await statusCommand();
|
|
74
74
|
});
|
|
75
75
|
program.command("clean").description("Clean files generated by Coding Friend in docs/").action(async () => {
|
|
76
|
-
const { cleanCommand } = await import("./clean-
|
|
76
|
+
const { cleanCommand } = await import("./clean-VFWQ4AJP.js");
|
|
77
77
|
await cleanCommand();
|
|
78
78
|
});
|
|
79
79
|
var session = program.command("session").description("[beta] Save and load Claude Code sessions across machines");
|