| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 7 | 9 | 0% |
| Commands | 0 | 3 | 1 | 0% |
| Section tags | 3 | 2 | 0 | 60% |
What each file covers
Sections
0 shared · 7 only in A · 9 only in B- − CLAUDE.md
- − First run
- − Monorepo
- − Execution
- − Validation
- − Skills and rules
- − graphify
- + AGENTS.md
- + Mission
- + Clinical Golden Rules (Non-Negotiable)
- + Engineering Standards
- + Branch Strategy (Main-First)
- + Ticket Source
- + PR Requirements
- + Done Criteria
- + Agent Work Order
Commands
0 shared · 3 only in A · 1 only in B- − pnpm lint && pnpm typecheck && pnpm test && pnpm build
- − turbo.json
- − pnpm exec commitlint --from HEAD~1 --to HEAD
- + pnpm lint
Section tags
3 shared · 2 only in A · 0 only in B- − test
- − monorepo
- git-pr
- do-not
- agent-behaviour
Line diff
itxSaaad/medlens-plus-app · CLAUDE.md
@@ −1 @@
1# CLAUDE.md
2
3Claude Code instructions for MedLens+.
4
5## First run
6
71. `README.md`, `AGENTS.md`, `docs/01-product/03-GOLDEN_RULES.md`
82. `docs/02-architecture/01-SYSTEM_ARCHITECTURE.md`
93. Pick a **Ready** issue on [Project #2](https://github.com/users/itxSaaad/projects/2)
10
11## Monorepo
12
13| Path | Role |
14| ------------------ | ------------------------------------------------------ |
15| `apps/web` | Next.js 16 — see `apps/web/CLAUDE.md` |
16| `apps/api` | FastAPI — see `apps/api/CLAUDE.md` |
17| `packages/types` | Shared TS contracts |
18| `packages/logger` | Shared logging utilities |
19| `turbo.json` | Turborepo task pipeline (lint, typecheck, test, build) |
20| `packages/schemas` | OpenAPI / JSON schema strategy |
21| `packages/parsers` | Extraction guidance |
22| `packages/agents` | Agent layer standards |
23
24## Execution
25
26- Trunk-based: branch from `main`, PR back to `main` (squash merge). No `develop` branch.
27- Naming: [`docs/07-open-source/03-NAMING_CONVENTIONS.md`](docs/07-open-source/03-NAMING_CONVENTIONS.md) — `feat/TKT-NNN-slug`, conventional commits, semantic PR title
28- **Every commit message must pass `commitlint.config.cjs`** (`@commitlint/config-conventional`) or the required `Commit And PR Convention Checks` CI job fails the PR: `<type>(<scope>): <subject>` header, valid `type` (`feat`, `fix`, `docs`, `chore`, `refactor`, `test`, `ci`, `release`, etc.), header ≤100 chars, blank line between header/body/footer. `body-max-line-length` is disabled (commit bodies routinely contain unwrappable URLs, e.g. Dependabot changelog links) — still wrap prose by hand for readability. Run `pnpm exec commitlint --from HEAD~1 --to HEAD` locally before pushing if unsure.
29- Adapter/factory boundaries; env + feature flags
30- PR-only merges; auto-merge disabled
31- Never bypass medical safety guardrails
32
33## Validation
34
35```bash
36pnpm lint && pnpm typecheck && pnpm test && pnpm build
37```
38
39Turborepo orchestrates workspace tasks (`turbo.json`). CI caches `.turbo/` via GitHub Actions.
40
41## Skills and rules
42
43- Index: `.claude/skills/medlens/SKILL.md`
44- Discipline: `.claude/rules/agent-discipline.md`
45- Rules map: `docs/00-start/03-RULES_AND_SKILLS_MAP.md`
46
47## graphify
48
49This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
50
51Rules:
52
53- For codebase questions, first run `graphify query "<question>"` when graphify-out/graph.json exists. Use `graphify path "<A>" "<B>"` for relationships and `graphify explain "<concept>"` for focused concepts. These return a scoped subgraph, usually much smaller than GRAPH_REPORT.md or raw grep output.
54- If graphify-out/wiki/index.md exists, use it for broad navigation instead of raw source browsing.
55- Read graphify-out/GRAPH_REPORT.md only for broad architecture review or when query/path/explain do not surface enough context.
56- After modifying code, run `graphify update .` to keep the graph current (AST-only, no API cost).
57
itxSaaad/medlens-plus-app · AGENTS.md
@@ +1 @@
1# AGENTS.md
2
3This repository is built to be understandable by humans and coding agents.
4
5## Mission
6
7Build MedLens+ as a safety-first, longitudinal medical report intelligence platform.
8
9## Clinical Golden Rules (Non-Negotiable)
10
111. Never diagnose disease.
122. Never prescribe medication.
133. Never suggest dosage changes.
144. Never claim "you have X disease."
155. Never replace professional consultation.
166. Always use uploaded report reference ranges, not internet-generic ranges.
177. Always show caution when comparing reports from different labs.
18
19## Engineering Standards
20
21- Follow typed contracts and schema-first design.
22- Keep frontend and backend decoupled by language/runtime.
23- Share cross-language contracts via OpenAPI/JSON schema, not shared runtime code.
24- Add tests for parser, normalization, trends, and safety filters.
25- Any AI flow change must include prompt/version metadata.
26
27## Branch Strategy (Main-First)
28
29- Branch **from `main`** (production baseline)
30- Open PRs to **`develop`** (features) or **`main`** (hotfixes)
31- **Naming:** [`docs/07-open-source/03-NAMING_CONVENTIONS.md`](docs/07-open-source/03-NAMING_CONVENTIONS.md) — `feat/TKT-NNN-slug`, conventional commits (body ≤100 chars/line), semantic PR title
32- Promotion: `develop` → `main` (maintainers)
33- After `main` updates, `sync-develop.yml` fast-forwards `develop` when trees match (see [`docs/07-open-source/04-BRANCHING_STRATEGY.md`](docs/07-open-source/04-BRANCHING_STRATEGY.md))
34
35## Ticket Source
36
37- [GitHub Project #2](https://github.com/users/itxSaaad/projects/2) — not local `planning/tickets/`
38
39## PR Requirements
40
41- Link a GitHub issue (`Closes #NNN`) from the [Project Board](https://github.com/users/itxSaaad/projects/2)
42- Mention user impact and safety impact
43- Include test evidence
44- Include privacy/security notes
45
46## Done Criteria
47
48- Functional acceptance criteria met
49- Tests pass locally and in CI
50- Docs updated
51- Safety and privacy checklist complete
52
53## Agent Work Order
54
551. Read ticket on [Project #2](https://github.com/users/itxSaaad/projects/2)
562. Branch with correct name (`feat/TKT-NNN-slug` or `chore/scope` per naming doc)
573. Validate architecture alignment
584. Implement with tests; commits must pass commitlint locally
595. Update docs and changelog
606. Open PR with template + `Closes #NNN`; run `pnpm lint` before push
61
@@ −1 +1 @@
1−# CLAUDE.md
1+# AGENTS.md
22
3−Claude Code instructions for MedLens+.
3+This repository is built to be understandable by humans and coding agents.
44
5−## First run
5+## Mission
66
7−1. `README.md`, `AGENTS.md`, `docs/01-product/03-GOLDEN_RULES.md`
8−2. `docs/02-architecture/01-SYSTEM_ARCHITECTURE.md`
9−3. Pick a **Ready** issue on [Project #2](https://github.com/users/itxSaaad/projects/2)
7+Build MedLens+ as a safety-first, longitudinal medical report intelligence platform.
108
11−## Monorepo
9+## Clinical Golden Rules (Non-Negotiable)
1210
13−| Path | Role |
14−| ------------------ | ------------------------------------------------------ |
15−| `apps/web` | Next.js 16 — see `apps/web/CLAUDE.md` |
16−| `apps/api` | FastAPI — see `apps/api/CLAUDE.md` |
17−| `packages/types` | Shared TS contracts |
18−| `packages/logger` | Shared logging utilities |
19−| `turbo.json` | Turborepo task pipeline (lint, typecheck, test, build) |
20−| `packages/schemas` | OpenAPI / JSON schema strategy |
21−| `packages/parsers` | Extraction guidance |
22−| `packages/agents` | Agent layer standards |
11+1. Never diagnose disease.
12+2. Never prescribe medication.
13+3. Never suggest dosage changes.
14+4. Never claim "you have X disease."
15+5. Never replace professional consultation.
16+6. Always use uploaded report reference ranges, not internet-generic ranges.
17+7. Always show caution when comparing reports from different labs.
2318
24−## Execution
19+## Engineering Standards
2520
26−- Trunk-based: branch from `main`, PR back to `main` (squash merge). No `develop` branch.
27−- Naming: [`docs/07-open-source/03-NAMING_CONVENTIONS.md`](docs/07-open-source/03-NAMING_CONVENTIONS.md) — `feat/TKT-NNN-slug`, conventional commits, semantic PR title
28−- **Every commit message must pass `commitlint.config.cjs`** (`@commitlint/config-conventional`) or the required `Commit And PR Convention Checks` CI job fails the PR: `<type>(<scope>): <subject>` header, valid `type` (`feat`, `fix`, `docs`, `chore`, `refactor`, `test`, `ci`, `release`, etc.), header ≤100 chars, blank line between header/body/footer. `body-max-line-length` is disabled (commit bodies routinely contain unwrappable URLs, e.g. Dependabot changelog links) — still wrap prose by hand for readability. Run `pnpm exec commitlint --from HEAD~1 --to HEAD` locally before pushing if unsure.
29−- Adapter/factory boundaries; env + feature flags
30−- PR-only merges; auto-merge disabled
31−- Never bypass medical safety guardrails
21+- Follow typed contracts and schema-first design.
22+- Keep frontend and backend decoupled by language/runtime.
23+- Share cross-language contracts via OpenAPI/JSON schema, not shared runtime code.
24+- Add tests for parser, normalization, trends, and safety filters.
25+- Any AI flow change must include prompt/version metadata.
3226
33−## Validation
27+## Branch Strategy (Main-First)
3428
35−```bash
36−pnpm lint && pnpm typecheck && pnpm test && pnpm build
37−```
29+- Branch **from `main`** (production baseline)
30+- Open PRs to **`develop`** (features) or **`main`** (hotfixes)
31+- **Naming:** [`docs/07-open-source/03-NAMING_CONVENTIONS.md`](docs/07-open-source/03-NAMING_CONVENTIONS.md) — `feat/TKT-NNN-slug`, conventional commits (body ≤100 chars/line), semantic PR title
32+- Promotion: `develop` → `main` (maintainers)
33+- After `main` updates, `sync-develop.yml` fast-forwards `develop` when trees match (see [`docs/07-open-source/04-BRANCHING_STRATEGY.md`](docs/07-open-source/04-BRANCHING_STRATEGY.md))
3834
39−Turborepo orchestrates workspace tasks (`turbo.json`). CI caches `.turbo/` via GitHub Actions.
35+## Ticket Source
4036
41−## Skills and rules
37+- [GitHub Project #2](https://github.com/users/itxSaaad/projects/2) — not local `planning/tickets/`
4238
43−- Index: `.claude/skills/medlens/SKILL.md`
44−- Discipline: `.claude/rules/agent-discipline.md`
45−- Rules map: `docs/00-start/03-RULES_AND_SKILLS_MAP.md`
39+## PR Requirements
4640
47−## graphify
41+- Link a GitHub issue (`Closes #NNN`) from the [Project Board](https://github.com/users/itxSaaad/projects/2)
42+- Mention user impact and safety impact
43+- Include test evidence
44+- Include privacy/security notes
4845
49−This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
46+## Done Criteria
5047
51−Rules:
48+- Functional acceptance criteria met
49+- Tests pass locally and in CI
50+- Docs updated
51+- Safety and privacy checklist complete
5252
53−- For codebase questions, first run `graphify query "<question>"` when graphify-out/graph.json exists. Use `graphify path "<A>" "<B>"` for relationships and `graphify explain "<concept>"` for focused concepts. These return a scoped subgraph, usually much smaller than GRAPH_REPORT.md or raw grep output.
54−- If graphify-out/wiki/index.md exists, use it for broad navigation instead of raw source browsing.
55−- Read graphify-out/GRAPH_REPORT.md only for broad architecture review or when query/path/explain do not surface enough context.
56−- After modifying code, run `graphify update .` to keep the graph current (AST-only, no API cost).
53+## Agent Work Order
54+
55+1. Read ticket on [Project #2](https://github.com/users/itxSaaad/projects/2)
56+2. Branch with correct name (`feat/TKT-NNN-slug` or `chore/scope` per naming doc)
57+3. Validate architecture alignment
58+4. Implement with tests; commits must pass commitlint locally
59+5. Update docs and changelog
60+6. Open PR with template + `Closes #NNN`; run `pnpm lint` before push
5761
