amalfa 1.0.10 ā 1.0.11
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 +14 -4
- package/package.json +8 -7
- package/src/cli.ts +10 -8
package/README.md
CHANGED
|
@@ -270,20 +270,30 @@ bun run dev
|
|
|
270
270
|
### Commands
|
|
271
271
|
|
|
272
272
|
```bash
|
|
273
|
-
# CLI commands (
|
|
273
|
+
# CLI commands (after global install: bun install -g amalfa)
|
|
274
274
|
amalfa init # Initialize database from markdown
|
|
275
275
|
amalfa serve # Start MCP server (stdio)
|
|
276
276
|
amalfa stats # Show database statistics
|
|
277
277
|
amalfa doctor # Health check
|
|
278
|
-
amalfa servers # Show all service status
|
|
278
|
+
amalfa servers # Show all service status (with commands!)
|
|
279
|
+
amalfa servers --dot # Generate DOT diagram
|
|
279
280
|
amalfa daemon start # Start file watcher daemon
|
|
280
281
|
amalfa daemon stop # Stop file watcher daemon
|
|
281
282
|
amalfa daemon status # Check daemon status
|
|
282
283
|
amalfa setup-mcp # Generate MCP config
|
|
284
|
+
amalfa --help # Show help
|
|
283
285
|
|
|
284
|
-
#
|
|
286
|
+
# Local development scripts (bun run <script>)
|
|
287
|
+
bun run servers # Test servers command
|
|
288
|
+
bun run servers:dot # Test DOT diagram
|
|
289
|
+
bun run stats # Test stats
|
|
290
|
+
bun run doctor # Test doctor
|
|
291
|
+
bun run help # Show CLI help
|
|
292
|
+
|
|
293
|
+
# Code quality
|
|
285
294
|
bun test # Run tests
|
|
286
|
-
bun run
|
|
295
|
+
bun run check # Biome check
|
|
296
|
+
bun run format # Biome format
|
|
287
297
|
```
|
|
288
298
|
|
|
289
299
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "amalfa",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Local-first knowledge graph engine for AI agents. Transforms markdown into searchable memory with MCP protocol.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/pjsvis/amalfa#readme",
|
|
@@ -44,12 +44,13 @@
|
|
|
44
44
|
"precommit": "bun run scripts/maintenance/pre-commit.ts",
|
|
45
45
|
"check": "biome check .",
|
|
46
46
|
"format": "biome format --write .",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
47
|
+
"amalfa": "bun run src/cli.ts",
|
|
48
|
+
"servers": "bun run src/cli.ts servers",
|
|
49
|
+
"servers:dot": "bun run src/cli.ts servers --dot",
|
|
50
|
+
"stats": "bun run src/cli.ts stats",
|
|
51
|
+
"doctor": "bun run src/cli.ts doctor",
|
|
52
|
+
"daemon": "bun run src/cli.ts daemon status",
|
|
53
|
+
"help": "bun run src/cli.ts --help"
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
56
|
"@modelcontextprotocol/sdk": "1.25.0",
|
package/src/cli.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { existsSync, statSync } from "node:fs";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { spawn } from "node:child_process";
|
|
5
5
|
|
|
6
|
-
const VERSION = "1.0.
|
|
6
|
+
const VERSION = "1.0.11";
|
|
7
7
|
|
|
8
8
|
// Database path loaded from config (lazy loaded per command)
|
|
9
9
|
let DB_PATH: string | null = null;
|
|
@@ -320,9 +320,9 @@ async function cmdServers() {
|
|
|
320
320
|
const showDot = args.includes("--dot");
|
|
321
321
|
|
|
322
322
|
const SERVICES = [
|
|
323
|
-
{ name: "MCP Server", pidFile: ".mcp.pid", port: "stdio", id: "mcp" },
|
|
324
|
-
{ name: "Vector Daemon", pidFile: ".vector-daemon.pid", port: "3010", id: "vector" },
|
|
325
|
-
{ name: "File Watcher", pidFile: ".amalfa-daemon.pid", port: "-", id: "watcher" },
|
|
323
|
+
{ name: "MCP Server", pidFile: ".mcp.pid", port: "stdio", id: "mcp", cmd: "amalfa serve" },
|
|
324
|
+
{ name: "Vector Daemon", pidFile: ".vector-daemon.pid", port: "3010", id: "vector", cmd: "(auto-start)" },
|
|
325
|
+
{ name: "File Watcher", pidFile: ".amalfa-daemon.pid", port: "-", id: "watcher", cmd: "amalfa daemon start" },
|
|
326
326
|
];
|
|
327
327
|
|
|
328
328
|
async function isRunning(pid: number): Promise<boolean> {
|
|
@@ -393,14 +393,15 @@ async function cmdServers() {
|
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
console.log("\nš” AMALFA Service Status\n");
|
|
396
|
-
console.log("ā".repeat(
|
|
396
|
+
console.log("ā".repeat(95));
|
|
397
397
|
console.log(
|
|
398
398
|
"SERVICE".padEnd(18) +
|
|
399
|
+
"COMMAND".padEnd(25) +
|
|
399
400
|
"PORT".padEnd(12) +
|
|
400
401
|
"STATUS".padEnd(15) +
|
|
401
402
|
"PID".padEnd(10)
|
|
402
403
|
);
|
|
403
|
-
console.log("ā".repeat(
|
|
404
|
+
console.log("ā".repeat(95));
|
|
404
405
|
|
|
405
406
|
for (const svc of SERVICES) {
|
|
406
407
|
const { readFileSync } = await import("node:fs");
|
|
@@ -426,14 +427,15 @@ async function cmdServers() {
|
|
|
426
427
|
|
|
427
428
|
console.log(
|
|
428
429
|
svc.name.padEnd(18) +
|
|
430
|
+
svc.cmd.padEnd(25) +
|
|
429
431
|
svc.port.padEnd(12) +
|
|
430
432
|
status.padEnd(15) +
|
|
431
433
|
pidStr.padEnd(10)
|
|
432
434
|
);
|
|
433
435
|
}
|
|
434
436
|
|
|
435
|
-
console.log("ā".repeat(
|
|
436
|
-
console.log("\nš”
|
|
437
|
+
console.log("ā".repeat(95));
|
|
438
|
+
console.log("\nš” Commands: amalfa serve | amalfa daemon start | amalfa stats\n");
|
|
437
439
|
}
|
|
438
440
|
|
|
439
441
|
async function cmdDoctor() {
|