@pedrocivita/tocket 2.1.0 → 2.2.1

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.
Files changed (69) hide show
  1. package/README.md +193 -141
  2. package/dist/commands/config.cmd.js +1 -0
  3. package/dist/commands/config.cmd.js.map +1 -0
  4. package/dist/commands/dashboard.js +3 -0
  5. package/dist/commands/dashboard.js.map +1 -0
  6. package/dist/commands/doctor.cmd.d.ts +9 -0
  7. package/dist/commands/doctor.cmd.js +192 -0
  8. package/dist/commands/doctor.cmd.js.map +1 -0
  9. package/dist/commands/eject.cmd.js +1 -0
  10. package/dist/commands/eject.cmd.js.map +1 -0
  11. package/dist/commands/focus.cmd.js +1 -0
  12. package/dist/commands/focus.cmd.js.map +1 -0
  13. package/dist/commands/generate.cmd.d.ts +8 -0
  14. package/dist/commands/generate.cmd.js +28 -10
  15. package/dist/commands/generate.cmd.js.map +1 -0
  16. package/dist/commands/init.cmd.d.ts +1 -0
  17. package/dist/commands/init.cmd.js +40 -4
  18. package/dist/commands/init.cmd.js.map +1 -0
  19. package/dist/commands/lint.cmd.d.ts +12 -0
  20. package/dist/commands/lint.cmd.js +270 -0
  21. package/dist/commands/lint.cmd.js.map +1 -0
  22. package/dist/commands/status.cmd.js +1 -0
  23. package/dist/commands/status.cmd.js.map +1 -0
  24. package/dist/commands/sync.cmd.js +4 -2
  25. package/dist/commands/sync.cmd.js.map +1 -0
  26. package/dist/commands/validate.cmd.d.ts +7 -0
  27. package/dist/commands/validate.cmd.js +4 -3
  28. package/dist/commands/validate.cmd.js.map +1 -0
  29. package/dist/index.js +5 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/templates/memory-bank.js +1 -0
  32. package/dist/templates/memory-bank.js.map +1 -0
  33. package/dist/tests/config.test.js +1 -0
  34. package/dist/tests/config.test.js.map +1 -0
  35. package/dist/tests/doctor.test.d.ts +1 -0
  36. package/dist/tests/doctor.test.js +103 -0
  37. package/dist/tests/doctor.test.js.map +1 -0
  38. package/dist/tests/eject.test.js +1 -0
  39. package/dist/tests/eject.test.js.map +1 -0
  40. package/dist/tests/focus.test.js +1 -0
  41. package/dist/tests/focus.test.js.map +1 -0
  42. package/dist/tests/generate.test.d.ts +1 -0
  43. package/dist/tests/generate.test.js +68 -0
  44. package/dist/tests/generate.test.js.map +1 -0
  45. package/dist/tests/git.test.js +10 -1
  46. package/dist/tests/git.test.js.map +1 -0
  47. package/dist/tests/init.test.d.ts +1 -0
  48. package/dist/tests/init.test.js +98 -0
  49. package/dist/tests/init.test.js.map +1 -0
  50. package/dist/tests/lint.test.d.ts +1 -0
  51. package/dist/tests/lint.test.js +121 -0
  52. package/dist/tests/lint.test.js.map +1 -0
  53. package/dist/tests/memory-bank.test.js +1 -0
  54. package/dist/tests/memory-bank.test.js.map +1 -0
  55. package/dist/tests/status.test.js +1 -0
  56. package/dist/tests/status.test.js.map +1 -0
  57. package/dist/tests/theme.test.js +1 -0
  58. package/dist/tests/theme.test.js.map +1 -0
  59. package/dist/tests/validate.test.d.ts +1 -0
  60. package/dist/tests/validate.test.js +93 -0
  61. package/dist/tests/validate.test.js.map +1 -0
  62. package/dist/utils/config.js +1 -0
  63. package/dist/utils/config.js.map +1 -0
  64. package/dist/utils/git.d.ts +1 -0
  65. package/dist/utils/git.js +14 -0
  66. package/dist/utils/git.js.map +1 -0
  67. package/dist/utils/theme.js +1 -0
  68. package/dist/utils/theme.js.map +1 -0
  69. package/package.json +4 -2
@@ -0,0 +1,93 @@
1
+ import { describe, it, after } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { mkdtempSync, mkdirSync, writeFileSync, rmSync, utimesSync } from "node:fs";
4
+ import { tmpdir } from "node:os";
5
+ import { join } from "node:path";
6
+ import { checkFile, checkStale, checkAgentFile } from "../commands/validate.cmd.js";
7
+ describe("checkFile", () => {
8
+ const tempDir = mkdtempSync(join(tmpdir(), "tocket-validate-test-"));
9
+ after(() => {
10
+ rmSync(tempDir, { recursive: true, force: true });
11
+ });
12
+ it("returns pass icon when required file exists", () => {
13
+ writeFileSync(join(tempDir, "exists.md"), "content", "utf-8");
14
+ const result = checkFile(tempDir, "exists.md", true);
15
+ assert.ok(result.message.includes("found"));
16
+ });
17
+ it("returns fail icon when required file is missing", () => {
18
+ const result = checkFile(tempDir, "missing.md", true);
19
+ assert.ok(result.message.includes("missing (required)"));
20
+ });
21
+ it("returns warn icon when optional file is missing", () => {
22
+ const result = checkFile(tempDir, "optional.md", false);
23
+ assert.ok(result.message.includes("missing (optional)"));
24
+ });
25
+ it("returns pass icon when optional file exists", () => {
26
+ writeFileSync(join(tempDir, "opt-exists.md"), "content", "utf-8");
27
+ const result = checkFile(tempDir, "opt-exists.md", false);
28
+ assert.ok(result.message.includes("found"));
29
+ });
30
+ });
31
+ describe("checkStale", () => {
32
+ const tempDir = mkdtempSync(join(tmpdir(), "tocket-stale-test-"));
33
+ after(() => {
34
+ rmSync(tempDir, { recursive: true, force: true });
35
+ });
36
+ it("returns null when file does not exist", () => {
37
+ const result = checkStale(tempDir, "nonexistent.md");
38
+ assert.equal(result, null);
39
+ });
40
+ it("returns null when file is fresh (< 7 days)", () => {
41
+ writeFileSync(join(tempDir, "fresh.md"), "content", "utf-8");
42
+ const result = checkStale(tempDir, "fresh.md");
43
+ assert.equal(result, null);
44
+ });
45
+ it("returns warn result when file is stale (> 7 days)", () => {
46
+ const filePath = join(tempDir, "stale.md");
47
+ writeFileSync(filePath, "content", "utf-8");
48
+ // Set mtime to 10 days ago
49
+ const tenDaysAgo = new Date(Date.now() - 10 * 24 * 60 * 60 * 1000);
50
+ utimesSync(filePath, tenDaysAgo, tenDaysAgo);
51
+ const result = checkStale(tempDir, "stale.md");
52
+ assert.ok(result !== null);
53
+ assert.ok(result.message.includes("days ago"));
54
+ });
55
+ });
56
+ describe("checkAgentFile", () => {
57
+ const tempDir = mkdtempSync(join(tmpdir(), "tocket-agent-test-"));
58
+ after(() => {
59
+ rmSync(tempDir, { recursive: true, force: true });
60
+ });
61
+ it("returns pass when CLAUDE.md exists", () => {
62
+ const dir = join(tempDir, "with-claude");
63
+ mkdirSync(dir);
64
+ writeFileSync(join(dir, "CLAUDE.md"), "# Claude", "utf-8");
65
+ const result = checkAgentFile(dir);
66
+ assert.ok(result.message.includes("Agent config found"));
67
+ assert.ok(result.message.includes("CLAUDE.md"));
68
+ });
69
+ it("returns pass when .cursorrules exists", () => {
70
+ const dir = join(tempDir, "with-cursor");
71
+ mkdirSync(dir);
72
+ writeFileSync(join(dir, ".cursorrules"), "rules", "utf-8");
73
+ const result = checkAgentFile(dir);
74
+ assert.ok(result.message.includes("Agent config found"));
75
+ assert.ok(result.message.includes(".cursorrules"));
76
+ });
77
+ it("returns warn when no agent files exist", () => {
78
+ const dir = join(tempDir, "empty");
79
+ mkdirSync(dir);
80
+ const result = checkAgentFile(dir);
81
+ assert.ok(result.message.includes("No agent config file found"));
82
+ });
83
+ it("lists multiple agent files when present", () => {
84
+ const dir = join(tempDir, "multi");
85
+ mkdirSync(dir);
86
+ writeFileSync(join(dir, "CLAUDE.md"), "# Claude", "utf-8");
87
+ writeFileSync(join(dir, "GEMINI.md"), "# Gemini", "utf-8");
88
+ const result = checkAgentFile(dir);
89
+ assert.ok(result.message.includes("CLAUDE.md"));
90
+ assert.ok(result.message.includes("GEMINI.md"));
91
+ });
92
+ });
93
+ //# sourceMappingURL=validate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["../../src/tests/validate.test.ts"],"names":[],"mappings":"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"}
@@ -31,3 +31,4 @@ export async function updateConfig(partial, configPath) {
31
31
  export async function resetConfig(configPath) {
32
32
  await saveConfig({}, configPath);
33
33
  }
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAcvD,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAoB,EACpB,UAAmB;IAEnB,MAAM,IAAI,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA8B,EAC9B,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,GAAG,OAAO;QACV,GAAG,OAAO;QACV,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;QACtD,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;KAC9C,CAAC;IACF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC"}
@@ -3,4 +3,5 @@ export declare function getStagedFiles(cwd?: string): string[];
3
3
  export declare function getModifiedFiles(cwd?: string): string[];
4
4
  export declare function getRecentCommits(n?: number, cwd?: string): string[];
5
5
  export declare function getRecentCommitsRaw(n?: number, cwd?: string): string;
6
+ export declare function getLastCommitMessage(cwd?: string): string;
6
7
  export declare function getCurrentBranch(cwd?: string): string;
package/dist/utils/git.js CHANGED
@@ -64,6 +64,19 @@ export function getRecentCommitsRaw(n = 5, cwd = process.cwd()) {
64
64
  return "_No commits found or not a git repository._";
65
65
  }
66
66
  }
67
+ export function getLastCommitMessage(cwd = process.cwd()) {
68
+ if (!isGitRepo(cwd))
69
+ return "";
70
+ try {
71
+ return execSync("git log -1 --pretty=%B", {
72
+ cwd,
73
+ encoding: "utf-8",
74
+ }).trim();
75
+ }
76
+ catch {
77
+ return "";
78
+ }
79
+ }
67
80
  export function getCurrentBranch(cwd = process.cwd()) {
68
81
  if (!isGitRepo(cwd))
69
82
  return "";
@@ -77,3 +90,4 @@ export function getCurrentBranch(cwd = process.cwd()) {
77
90
  return "";
78
91
  }
79
92
  }
93
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
@@ -36,3 +36,4 @@ export function heading(msg) {
36
36
  export function dim(msg) {
37
37
  return dimmed(msg);
38
38
  }
39
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/utils/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,yEAAyE;AACzE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;AAChC,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAE/B,yEAAyE;AACzE,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG;;;;;;mDAMqC,CAAC;IAElD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAC1E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAW;IAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pedrocivita/tocket",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "description": "The Context Engineering Framework for Multi-Agent Workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,8 @@
14
14
  "build": "tsc",
15
15
  "start": "node dist/index.js",
16
16
  "prepublishOnly": "npm run build",
17
- "test": "npm run build && node --test dist/tests/*.test.js"
17
+ "test": "npm run build && node --test dist/tests/*.test.js",
18
+ "test:coverage": "npm run build && c8 node --test dist/tests/*.test.js"
18
19
  },
19
20
  "repository": {
20
21
  "type": "git",
@@ -43,6 +44,7 @@
43
44
  },
44
45
  "devDependencies": {
45
46
  "@types/node": "^25.3.0",
47
+ "c8": "^11.0.0",
46
48
  "typescript": "^5.9.3"
47
49
  }
48
50
  }