| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 5 | 7 | 0% |
| Commands | 0 | 5 | 1 | 0% |
| Section tags | 1 | 5 | 1 | 14% |
What each file covers
Sections
0 shared · 5 only in A · 7 only in B- − PubMed Python Rules
- − Environment
- − Architecture Guardrails
- − Validation Gates
- − Test Rules
- + Zotero + PubMed MCP Codex Harness
- + Goal
- + Working Style
- + Core Workflow
- + Repository Work
- + Guardrails
- + Related Files
Commands
0 shared · 5 only in A · 1 only in B- − uv run ...
- − uv run ruff check .
- − uv run ruff format --check .
- − uv run mypy src/ tests/
- − uv run pytest
- + npm run sync-assets
Section tags
1 shared · 5 only in A · 1 only in B- − setup
- − test
- − lint-format
- − testing-strategy
- − do-not
- + agent-behaviour
- code-style
Line diff
u9401066/zotero-keeper · .clinerules/60-pubmed-python.md
@@ −1 @@
1---
2paths:
3 - "src/**/*.py"
4 - "tests/**/*.py"
5 - "scripts/**/*.py"
6 - "pyproject.toml"
7 - "uv.lock"
8---
9
10# PubMed Python Rules
11
12## Environment
13
14- Use `uv` for all Python commands.
15- Prefer `uv run ...` so checks execute in the right environment.
16- Do not introduce raw package-manager calls in docs, CI, or code paths.
17
18## Architecture Guardrails
19
20- Keep `domain/` free of I/O, environment reads, and framework imports.
21- Keep external API calls in `infrastructure/`.
22- Put orchestration in `application/`.
23- Keep MCP presentation code as thin wrappers around services.
24- Read configuration through shared settings, not scattered `os.environ` reads.
25
26## Validation Gates
27
28- Lint: `uv run ruff check .`
29- Format: `uv run ruff format --check .`
30- Types: `uv run mypy src/ tests/`
31- Tests: `uv run pytest`
32
33## Test Rules
34
35- Use async tests and `AsyncMock` for async methods.
36- Preserve xdist-friendly tests; avoid singleton state leaks.
37- Mock external APIs unless a test is explicitly marked integration.
38- Add regression tests for parsing, query expansion, ranking, source counts, and MCP tool contracts.
39
u9401066/zotero-keeper · AGENTS.md
@@ +1 @@
1# Zotero + PubMed MCP Codex Harness
2
3These are the workspace instructions for Codex when using Zotero Keeper and
4PubMed Search MCP through the VS Code extension.
5
6## Goal
7
8Help the user search biomedical literature, inspect papers, and import selected
9articles into Zotero without losing provenance or overwriting user choices.
10
11## Working Style
12
13- Use Traditional Chinese unless the user asks otherwise.
14- Explain search/import steps briefly.
15- Ask before importing anything into Zotero.
16- Keep PubMed search/discovery/export work in PubMed Search MCP.
17- Keep persistence, collection selection, and Zotero inspection in Zotero Keeper.
18
19## Core Workflow
20
211. Start broad literature discovery with `unified_search`.
222. Use `parse_pico` and `generate_search_queries` for clinical or comparison questions.
233. Reuse session state with `get_session_pmids`, `get_cached_article`, and `get_session_summary`.
244. Use related/citing/reference/fulltext tools for follow-up instead of rerunning the same search.
255. Before saving to Zotero, call `list_collections` unless the destination is already confirmed.
266. Check duplicates with `check_articles_owned`.
277. Use `import_articles` as the default PubMed-to-Zotero handoff.
28
29## Repository Work
30
31- Treat `.codex/skills`, `.claude/skills`, `.cline/skills`, and `.clinerules` as bundled assistant harness assets.
32- Run `npm run sync-assets` before packaging the VSIX.
33- Keep `vscode-extension/resources/repo-assets/**` synchronized with its source files.
34- Preserve custom user `AGENTS.md`, Copilot instructions, and Cline settings during extension install/update flows.
35
36## Guardrails
37
38- Do not import into the Zotero root collection without explicit confirmation.
39- Do not assume the target collection.
40- Do not repeat searches when session state already contains the relevant PMIDs.
41- Distinguish peer-reviewed articles, preprints, and metadata-only records.
42- Keep NCBI email/API-key and institutional access settings intact.
43
44## Related Files
45
46- `.codex/skills/zotero-keeper-harness/SKILL.md`
47- `.codex/skills/pubmed-search-mcp-harness/SKILL.md`
48- `.github/zotero-research-workflow.md`
49- `.github/agents/research.agent.md`
50- `.claude/skills/pubmed-*`
51
@@ −1 +1 @@
1−---
2−paths:
3− - "src/**/*.py"
4− - "tests/**/*.py"
5− - "scripts/**/*.py"
6− - "pyproject.toml"
7− - "uv.lock"
8−---
1+# Zotero + PubMed MCP Codex Harness
92
10−# PubMed Python Rules
3+These are the workspace instructions for Codex when using Zotero Keeper and
4+PubMed Search MCP through the VS Code extension.
115
12−## Environment
6+## Goal
137
14−- Use `uv` for all Python commands.
15−- Prefer `uv run ...` so checks execute in the right environment.
16−- Do not introduce raw package-manager calls in docs, CI, or code paths.
8+Help the user search biomedical literature, inspect papers, and import selected
9+articles into Zotero without losing provenance or overwriting user choices.
1710
18−## Architecture Guardrails
11+## Working Style
1912
20−- Keep `domain/` free of I/O, environment reads, and framework imports.
21−- Keep external API calls in `infrastructure/`.
22−- Put orchestration in `application/`.
23−- Keep MCP presentation code as thin wrappers around services.
24−- Read configuration through shared settings, not scattered `os.environ` reads.
13+- Use Traditional Chinese unless the user asks otherwise.
14+- Explain search/import steps briefly.
15+- Ask before importing anything into Zotero.
16+- Keep PubMed search/discovery/export work in PubMed Search MCP.
17+- Keep persistence, collection selection, and Zotero inspection in Zotero Keeper.
2518
26−## Validation Gates
19+## Core Workflow
2720
28−- Lint: `uv run ruff check .`
29−- Format: `uv run ruff format --check .`
30−- Types: `uv run mypy src/ tests/`
31−- Tests: `uv run pytest`
21+1. Start broad literature discovery with `unified_search`.
22+2. Use `parse_pico` and `generate_search_queries` for clinical or comparison questions.
23+3. Reuse session state with `get_session_pmids`, `get_cached_article`, and `get_session_summary`.
24+4. Use related/citing/reference/fulltext tools for follow-up instead of rerunning the same search.
25+5. Before saving to Zotero, call `list_collections` unless the destination is already confirmed.
26+6. Check duplicates with `check_articles_owned`.
27+7. Use `import_articles` as the default PubMed-to-Zotero handoff.
3228
33−## Test Rules
29+## Repository Work
3430
35−- Use async tests and `AsyncMock` for async methods.
36−- Preserve xdist-friendly tests; avoid singleton state leaks.
37−- Mock external APIs unless a test is explicitly marked integration.
38−- Add regression tests for parsing, query expansion, ranking, source counts, and MCP tool contracts.
31+- Treat `.codex/skills`, `.claude/skills`, `.cline/skills`, and `.clinerules` as bundled assistant harness assets.
32+- Run `npm run sync-assets` before packaging the VSIX.
33+- Keep `vscode-extension/resources/repo-assets/**` synchronized with its source files.
34+- Preserve custom user `AGENTS.md`, Copilot instructions, and Cline settings during extension install/update flows.
35+
36+## Guardrails
37+
38+- Do not import into the Zotero root collection without explicit confirmation.
39+- Do not assume the target collection.
40+- Do not repeat searches when session state already contains the relevant PMIDs.
41+- Distinguish peer-reviewed articles, preprints, and metadata-only records.
42+- Keep NCBI email/API-key and institutional access settings intact.
43+
44+## Related Files
45+
46+- `.codex/skills/zotero-keeper-harness/SKILL.md`
47+- `.codex/skills/pubmed-search-mcp-harness/SKILL.md`
48+- `.github/zotero-research-workflow.md`
49+- `.github/agents/research.agent.md`
50+- `.claude/skills/pubmed-*`
3951
