ndrstnd 0.1.0

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 (83) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -0
  3. package/dist/server/agent.d.ts +51 -0
  4. package/dist/server/agent.js +77 -0
  5. package/dist/server/agent.js.map +1 -0
  6. package/dist/server/analysis-core.d.ts +93 -0
  7. package/dist/server/analysis-core.js +442 -0
  8. package/dist/server/analysis-core.js.map +1 -0
  9. package/dist/server/analyze.d.ts +55 -0
  10. package/dist/server/analyze.js +72 -0
  11. package/dist/server/analyze.js.map +1 -0
  12. package/dist/server/artifact.d.ts +8 -0
  13. package/dist/server/artifact.js +43 -0
  14. package/dist/server/artifact.js.map +1 -0
  15. package/dist/server/claude.d.ts +29 -0
  16. package/dist/server/claude.js +243 -0
  17. package/dist/server/claude.js.map +1 -0
  18. package/dist/server/cli-support.d.ts +7 -0
  19. package/dist/server/cli-support.js +13 -0
  20. package/dist/server/cli-support.js.map +1 -0
  21. package/dist/server/cli.d.ts +2 -0
  22. package/dist/server/cli.js +276 -0
  23. package/dist/server/cli.js.map +1 -0
  24. package/dist/server/codex.d.ts +34 -0
  25. package/dist/server/codex.js +256 -0
  26. package/dist/server/codex.js.map +1 -0
  27. package/dist/server/conversation.d.ts +9 -0
  28. package/dist/server/conversation.js +57 -0
  29. package/dist/server/conversation.js.map +1 -0
  30. package/dist/server/evidence-ordering.d.ts +13 -0
  31. package/dist/server/evidence-ordering.js +143 -0
  32. package/dist/server/evidence-ordering.js.map +1 -0
  33. package/dist/server/git-model.d.ts +15 -0
  34. package/dist/server/git-model.js +156 -0
  35. package/dist/server/git-model.js.map +1 -0
  36. package/dist/server/git.d.ts +29 -0
  37. package/dist/server/git.js +124 -0
  38. package/dist/server/git.js.map +1 -0
  39. package/dist/server/http.d.ts +14 -0
  40. package/dist/server/http.js +139 -0
  41. package/dist/server/http.js.map +1 -0
  42. package/dist/server/preview-fixture.d.ts +1 -0
  43. package/dist/server/preview-fixture.js +23 -0
  44. package/dist/server/preview-fixture.js.map +1 -0
  45. package/dist/server/review-presentation.d.ts +3 -0
  46. package/dist/server/review-presentation.js +14 -0
  47. package/dist/server/review-presentation.js.map +1 -0
  48. package/dist/server/skill.d.ts +14 -0
  49. package/dist/server/skill.js +94 -0
  50. package/dist/server/skill.js.map +1 -0
  51. package/dist/server/store.d.ts +36 -0
  52. package/dist/server/store.js +134 -0
  53. package/dist/server/store.js.map +1 -0
  54. package/dist/server/version.d.ts +2 -0
  55. package/dist/server/version.js +13 -0
  56. package/dist/server/version.js.map +1 -0
  57. package/dist/shared/analysis-schema.d.ts +325 -0
  58. package/dist/shared/analysis-schema.js +50 -0
  59. package/dist/shared/analysis-schema.js.map +1 -0
  60. package/dist/shared/domain.d.ts +33 -0
  61. package/dist/shared/domain.js +2 -0
  62. package/dist/shared/domain.js.map +1 -0
  63. package/dist/web/evidence-model.d.ts +36 -0
  64. package/dist/web/evidence-model.js +134 -0
  65. package/dist/web/evidence-model.js.map +1 -0
  66. package/dist/web/frozen-review-data.d.ts +3 -0
  67. package/dist/web/frozen-review-data.js +202 -0
  68. package/dist/web/frozen-review-data.js.map +1 -0
  69. package/dist/web/language.d.ts +4 -0
  70. package/dist/web/language.js +14 -0
  71. package/dist/web/language.js.map +1 -0
  72. package/dist/web/page.d.ts +10 -0
  73. package/dist/web/page.js +1038 -0
  74. package/dist/web/page.js.map +1 -0
  75. package/dist/web/review-data.d.ts +20 -0
  76. package/dist/web/review-data.js +2 -0
  77. package/dist/web/review-data.js.map +1 -0
  78. package/dist/web/test-plan-model.d.ts +27 -0
  79. package/dist/web/test-plan-model.js +89 -0
  80. package/dist/web/test-plan-model.js.map +1 -0
  81. package/package.json +47 -0
  82. package/src/skill-assets/ndrstnd/SKILL.md +22 -0
  83. package/src/skill-assets/ndrstnd/agents/openai.yaml +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/web/page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { AnalysisDocument } from "../shared/analysis-schema.js";
2
+ import type { ChangedFile, DiffHunk } from "../shared/domain.js";
3
+ /**
4
+ * The complete, serializable input to the static review presentation.
5
+ *
6
+ * Keeping this independent of the review store means a fixture can render the
7
+ * exact same artifact while visual work is in progress.
8
+ */
9
+ export interface ReviewPresentationData {
10
+ sessionId: string;
11
+ revisionId: string;
12
+ targetRef: string;
13
+ baseRef: string;
14
+ mergeBase: string;
15
+ files: ChangedFile[];
16
+ hunks: DiffHunk[];
17
+ document: AnalysisDocument;
18
+ /** Display name of the agent that produced the analysis; copy actions address their prompts to it. */
19
+ agentName: string;
20
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=review-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-data.js","sourceRoot":"","sources":["../../src/web/review-data.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { AnalysisDocument } from "../shared/analysis-schema.js";
2
+ import type { DiffHunk } from "../shared/domain.js";
3
+ export interface TestCaseModel {
4
+ id: string;
5
+ name: string;
6
+ filePath: string;
7
+ hunk: DiffHunk;
8
+ chapter: AnalysisDocument["chapters"][number];
9
+ }
10
+ export interface TestThemeModel {
11
+ id: string;
12
+ title: string;
13
+ synopsis: string;
14
+ storyClaims: AnalysisDocument["chapters"];
15
+ testChapters: AnalysisDocument["chapters"];
16
+ cases: TestCaseModel[];
17
+ }
18
+ export declare function buildTestThemes(document: AnalysisDocument, hunks: DiffHunk[], filePaths: Map<string, string>): TestThemeModel[];
19
+ export declare function buildTestCases(chapter: AnalysisDocument["chapters"][number], hunks: DiffHunk[], filePaths: Map<string, string>): TestCaseModel[];
20
+ export declare function deriveTestSummary(themes: TestThemeModel[]): string | undefined;
21
+ export declare function testTypeLabel(cases: TestCaseModel[]): string;
22
+ export declare function inferTestType(path: string): string;
23
+ export declare function isTestPath(path: string): boolean;
24
+ export declare function sharesAny(left: readonly string[], right: readonly string[]): boolean;
25
+ export declare function mostCommon(values: string[]): string;
26
+ export declare function listPhrase(values: string[]): string;
27
+ export declare function focusedTestLines(hunk: DiffHunk, raw: boolean): DiffHunk["lines"];
@@ -0,0 +1,89 @@
1
+ import { basename, focusedEvidenceLines } from "./evidence-model.js";
2
+ export function buildTestThemes(document, hunks, filePaths) {
3
+ const testChapters = document.chapters.filter((chapter) => chapter.kind === "test");
4
+ const storyClaims = document.chapters.filter((chapter) => chapter.kind !== "test");
5
+ const casesByChapter = new Map(testChapters.map((chapter) => [chapter.id, buildTestCases(chapter, hunks, filePaths)]));
6
+ const fallbackClaims = storyClaims.length > 0 ? storyClaims : testChapters;
7
+ if (fallbackClaims.length === 0)
8
+ return [];
9
+ // Each test chapter feeds exactly one theme so case counts and jump targets never duplicate across claims.
10
+ const assignedTests = new Map(fallbackClaims.map((claim) => [claim.id, []]));
11
+ for (const testChapter of testChapters) {
12
+ const owner = storyClaims.length === 0
13
+ ? testChapter
14
+ : storyClaims.find((claim) => sharesAny(testChapter.riskCategories, claim.riskCategories)) ?? storyClaims[0];
15
+ assignedTests.get(owner.id)?.push(testChapter);
16
+ }
17
+ return fallbackClaims.map((claim) => {
18
+ const selectedTests = assignedTests.get(claim.id) ?? [];
19
+ const cases = selectedTests.flatMap((chapter) => casesByChapter.get(chapter.id) ?? []);
20
+ return { id: claim.id, title: claim.title, synopsis: claim.synopsis, storyClaims: storyClaims.includes(claim) ? [claim] : [], testChapters: selectedTests, cases };
21
+ }).filter((theme, index, all) => theme.cases.length > 0 || all.length === 1);
22
+ }
23
+ export function buildTestCases(chapter, hunks, filePaths) {
24
+ const evidence = chapter.evidenceIds.flatMap((id) => {
25
+ const hunk = hunks.find((candidate) => candidate.id === id);
26
+ return hunk === undefined ? [] : [hunk];
27
+ });
28
+ return evidence.flatMap((hunk) => {
29
+ const filePath = filePaths.get(hunk.fileId) ?? hunk.fileId;
30
+ const names = hunk.lines
31
+ .filter((line) => line.kind === "addition")
32
+ // The lookbehind keeps identifiers that merely end in it/test/describe, like submit( or rateLimit(, from fabricating case names.
33
+ .map((line) => line.content.match(/(?<![\w$.])(?:it|test|describe)\s*\(\s*["'`]([^"'`]+)/)?.[1])
34
+ .filter((name) => name !== undefined);
35
+ return (names.length > 0 ? names : [`Verify ${basename(filePath)}`]).map((name, index) => ({ id: `${hunk.id}-${index}`, name, filePath, hunk, chapter }));
36
+ });
37
+ }
38
+ export function deriveTestSummary(themes) {
39
+ const cases = themes.flatMap((theme) => theme.cases);
40
+ if (cases.length === 0)
41
+ return undefined;
42
+ const themesWithCases = themes.filter((theme) => theme.cases.length > 0).map((theme) => theme.title);
43
+ const topFile = mostCommon(cases.map((testCase) => testCase.filePath));
44
+ return `Testing focused on ${listPhrase(themesWithCases.slice(0, 2))}. Most test activity was implemented in ${topFile}.`;
45
+ }
46
+ export function testTypeLabel(cases) {
47
+ if (cases.length === 0)
48
+ return "Type unavailable";
49
+ const labels = [...new Set(cases.map((testCase) => inferTestType(testCase.filePath)))];
50
+ return labels.join(", ");
51
+ }
52
+ export function inferTestType(path) {
53
+ const lower = path.toLowerCase();
54
+ if (/(e2e|end-to-end|playwright|cypress)/.test(lower))
55
+ return "End-to-end";
56
+ if (/(integration|http|server)/.test(lower))
57
+ return "Integration";
58
+ if (/(lint|eslint)/.test(lower))
59
+ return "Static analysis";
60
+ if (/(typecheck|tsc)/.test(lower))
61
+ return "Type check";
62
+ if (/(build)/.test(lower))
63
+ return "Build";
64
+ return "Unit";
65
+ }
66
+ export function isTestPath(path) {
67
+ return /(?:^|\/)(?:test|tests|__tests__)\/|(?:\.test|\.spec)\.[^.]+$/i.test(path);
68
+ }
69
+ export function sharesAny(left, right) {
70
+ return left.some((value) => right.includes(value));
71
+ }
72
+ export function mostCommon(values) {
73
+ const counts = new Map();
74
+ for (const value of values)
75
+ counts.set(value, (counts.get(value) ?? 0) + 1);
76
+ return [...counts.entries()].sort((left, right) => right[1] - left[1] || left[0].localeCompare(right[0]))[0]?.[0] ?? "test evidence";
77
+ }
78
+ export function listPhrase(values) {
79
+ if (values.length === 0)
80
+ return "changed behavior";
81
+ if (values.length === 1)
82
+ return values[0];
83
+ return `${values.slice(0, -1).join(", ")} and ${values.at(-1)}`;
84
+ }
85
+ export function focusedTestLines(hunk, raw) {
86
+ const focused = focusedEvidenceLines(hunk.lines).map(({ line }) => line);
87
+ return raw || focused.length === 0 ? hunk.lines : focused;
88
+ }
89
+ //# sourceMappingURL=test-plan-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-plan-model.js","sourceRoot":"","sources":["../../src/web/test-plan-model.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "ndrstnd",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/truizlop/ndrstnd.git"
10
+ },
11
+ "bin": {
12
+ "ndrstnd": "dist/server/cli.js"
13
+ },
14
+ "scripts": {
15
+ "dev": "tsx src/server/cli.ts",
16
+ "build": "tsc -p tsconfig.json",
17
+ "typecheck": "tsc -p tsconfig.json --noEmit",
18
+ "test": "vitest run --dir test",
19
+ "test:watch": "vitest --dir test",
20
+ "lint": "npm run typecheck",
21
+ "prepublishOnly": "npm run lint && npm test && npm run build",
22
+ "preview:fixture": "tsx src/server/preview-fixture.ts"
23
+ },
24
+ "files": [
25
+ "dist",
26
+ "src/skill-assets",
27
+ "README.md"
28
+ ],
29
+ "engines": {
30
+ "node": ">=22"
31
+ },
32
+ "dependencies": {
33
+ "better-sqlite3": "^12.11.1",
34
+ "diff2html": "^3.4.56",
35
+ "shiki": "^4.2.0",
36
+ "zod": "^3.24.4"
37
+ },
38
+ "devDependencies": {
39
+ "@types/better-sqlite3": "^7.6.13",
40
+ "@types/node": "^22.15.30",
41
+ "happy-dom": "^20.10.6",
42
+ "playwright": "^1.61.0",
43
+ "tsx": "^4.19.4",
44
+ "typescript": "^5.8.3",
45
+ "vitest": "^3.1.4"
46
+ }
47
+ }
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: ndrstnd
3
+ description: Use when a human wants to understand code changes (requests like "help me understand these changes", "explain this branch", or "walk me through this diff") and after completing a coding task when a human needs to understand the agent-produced branch through an evidence-led ndrstnd workspace, rather than receive a conventional critique.
4
+ ---
5
+
6
+ # ndrstnd
7
+
8
+ Use ndrstnd whenever a human needs an intelligible story of a set of changes: after your own implementation is complete, or when asked to explain or help understand a branch, diff, or working tree that already exists, including changes produced outside this session.
9
+
10
+ 1. Establish the scope before anything else: the current branch, the default branch, and `git status --porcelain`. Decide what the reviewer should see: committed work, uncommitted work, or both.
11
+ 2. Pick the invocation so the diff equals exactly that work:
12
+ - Committed work on a feature branch: `ndrstnd review <branch> --base <default-branch>`.
13
+ - Only uncommitted changes on the checked-out branch: `ndrstnd review --uncommitted`.
14
+ - Commits since branching plus uncommitted changes: `ndrstnd review --base <default-branch>` (reviews always diff from the merge-base, so upstream commits after the fork point stay out).
15
+ - First delivery in a history with no useful base: `ndrstnd review --base empty`.
16
+ Never rely on an inferred base when the local default branch may be ahead of or behind origin; ndrstnd warns when an inferred base pulls extra local commits into the review, and that warning means the base must be corrected.
17
+ 3. Verify the scope cheaply before analyzing: `git diff --stat <base>...<target>` (or against the working tree) must list only files that belong to the handoff. Unrelated files mean a wrong base or stray dirty edits; fix that first, because the analysis takes minutes.
18
+ 4. Export the conversation unless it contains no intent. Create a portable `ndrstnd-conversation-v1.json` with user and assistant text only, covering the motivating request, decisions, rejected alternatives, constraints, and any test or build results that were reported (commands and outcomes feed the Test plan's observed-execution evidence); never include tool output, credentials, or reasoning records. The analysis grounds its summary, before/after semantics, and step goals in this export, so omitting it produces a poorer artifact. A changed export triggers a fresh analysis rather than reusing a stale session. When the changes were produced outside this session and no dialogue about them exists, skip the export instead of fabricating one.
19
+ 5. Run `ndrstnd review … --repo <root> --conversation <path> --agent <id>`, passing the agent you are (`codex` for Codex, `claude` for Claude Code) so the analysis reuses your own authenticated session instead of another installed agent's; ndrstnd detects the host agent when the flag is missing, but passing it removes the guess. Read the scope and manifest lines it prints (base, changed files, meaningful files, hunks, conversation count). If they do not match the intended handoff, correct the base and re-run. The analysis takes minutes on large branches and prints a `still analyzing` heartbeat line about every 15 seconds naming what the analysis agent is doing; while heartbeat lines keep appearing the run is healthy, so give the command a timeout of at least 15 minutes and never kill or restart it mid-analysis; that discards the whole draft.
20
+ 6. Link the artifact in the handoff response so it can be read on desktop or mobile; it is self-contained, lives in the Git-ignored `.ndrstnd/` directory, and should be deleted once the review is done.
21
+ 7. Tell the reviewer that ndrstnd is for comprehension: Story for the narrative, Timeline for the suggested build order, Test plan for how the behavior was exercised, and Full diff for every hunk including collapsed low-signal files.
22
+ 8. Do not treat ndrstnd findings as merge criticism or modify the branch from its workspace. Use the agent's dedicated review workflow (Codex `/review` or Claude Code `/review`) for critique and change requests.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "ndrstnd"
3
+ short_description: "Understand branch changes with ndrstnd"
4
+ default_prompt: "Help me understand these changes."