Two files, one repository
itxSaaad/medlens-plus-app ships 4 formats across 26 indexed files. The question worth asking is whether the second one says anything the first does not.
| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 9 | 7 | 0% |
| Commands | 0 | 1 | 3 | 0% |
| Section tags | 3 | 0 | 2 | 60% |
What each file covers
Sections
0 shared · 9 only in A · 7 only in B- − AGENTS.md
- − Mission
- − Clinical Golden Rules (Non-Negotiable)
- − Engineering Standards
- − Branch Strategy (Main-First)
- − Ticket Source
- − PR Requirements
- − Done Criteria
- − Agent Work Order
- + CLAUDE.md
- + First run
- + Monorepo
- + Execution
- + Validation
- + Skills and rules
- + graphify
Commands
0 shared · 1 only in A · 3 only in B- − pnpm lint
- + pnpm lint && pnpm typecheck && pnpm test && pnpm build
- + turbo.json
- + pnpm exec commitlint --from HEAD~1 --to HEAD
Section tags
3 shared · 0 only in A · 2 only in B- + test
- + monorepo
- git-pr
- do-not
- agent-behaviour
Line diff
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
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
@@ −1 +1 @@
1−# AGENTS.md
1+# CLAUDE.md
22
3−This repository is built to be understandable by humans and coding agents.
3+Claude Code instructions for MedLens+.
44
5−## Mission
5+## First run
66
7−Build MedLens+ as a safety-first, longitudinal medical report intelligence platform.
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)
810
9−## Clinical Golden Rules (Non-Negotiable)
11+## Monorepo
1012
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.
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 |
1823
19−## Engineering Standards
24+## Execution
2025
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+- 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
2632
27−## Branch Strategy (Main-First)
33+## Validation
2834
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))
35+```bash
36+pnpm lint && pnpm typecheck && pnpm test && pnpm build
37+```
3438
35−## Ticket Source
39+Turborepo orchestrates workspace tasks (`turbo.json`). CI caches `.turbo/` via GitHub Actions.
3640
37−- [GitHub Project #2](https://github.com/users/itxSaaad/projects/2) — not local `planning/tickets/`
41+## Skills and rules
3842
39−## PR Requirements
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`
4046
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
47+## graphify
4548
46−## Done Criteria
49+This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
4750
48−- Functional acceptance criteria met
49−- Tests pass locally and in CI
50−- Docs updated
51−- Safety and privacy checklist complete
51+Rules:
5252
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
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).
6157
