flonat-research 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.
- package/.claude/agents/domain-reviewer.md +336 -0
- package/.claude/agents/fixer.md +226 -0
- package/.claude/agents/paper-critic.md +370 -0
- package/.claude/agents/peer-reviewer.md +289 -0
- package/.claude/agents/proposal-reviewer.md +215 -0
- package/.claude/agents/referee2-reviewer.md +367 -0
- package/.claude/agents/references/journal-referee-profiles.md +354 -0
- package/.claude/agents/references/paper-critic/council-personas.md +77 -0
- package/.claude/agents/references/paper-critic/council-prompts.md +198 -0
- package/.claude/agents/references/peer-reviewer/report-template.md +199 -0
- package/.claude/agents/references/peer-reviewer/sa-prompts.md +260 -0
- package/.claude/agents/references/peer-reviewer/security-scan.md +188 -0
- package/.claude/agents/references/proposal-reviewer/report-template.md +144 -0
- package/.claude/agents/references/proposal-reviewer/sa-prompts.md +149 -0
- package/.claude/agents/references/referee-config.md +114 -0
- package/.claude/agents/references/referee2-reviewer/audit-checklists.md +287 -0
- package/.claude/agents/references/referee2-reviewer/report-template.md +334 -0
- package/.claude/rules/design-before-results.md +52 -0
- package/.claude/rules/ignore-agents-md.md +17 -0
- package/.claude/rules/ignore-gemini-md.md +17 -0
- package/.claude/rules/lean-claude-md.md +45 -0
- package/.claude/rules/learn-tags.md +99 -0
- package/.claude/rules/overleaf-separation.md +67 -0
- package/.claude/rules/plan-first.md +175 -0
- package/.claude/rules/read-docs-first.md +50 -0
- package/.claude/rules/scope-discipline.md +28 -0
- package/.claude/settings.json +125 -0
- package/.context/current-focus.md +33 -0
- package/.context/preferences/priorities.md +36 -0
- package/.context/preferences/task-naming.md +28 -0
- package/.context/profile.md +29 -0
- package/.context/projects/_index.md +41 -0
- package/.context/projects/papers/nudge-exp.md +22 -0
- package/.context/projects/papers/uncertainty.md +31 -0
- package/.context/resources/claude-scientific-writer-review.md +48 -0
- package/.context/resources/cunningham-multi-analyst-agents.md +104 -0
- package/.context/resources/cunningham-multilang-code-audit.md +62 -0
- package/.context/resources/google-ai-co-scientist-review.md +72 -0
- package/.context/resources/karpathy-llm-council-review.md +58 -0
- package/.context/resources/multi-coder-reliability-protocol.md +175 -0
- package/.context/resources/pedro-santanna-takeaways.md +96 -0
- package/.context/resources/venue-rankings/abs_ajg_2024.csv +1823 -0
- package/.context/resources/venue-rankings/abs_ajg_2024_econ.csv +356 -0
- package/.context/resources/venue-rankings/cabs_4_4star_theory.csv +40 -0
- package/.context/resources/venue-rankings/core_2026.csv +801 -0
- package/.context/resources/venue-rankings.md +147 -0
- package/.context/workflows/README.md +69 -0
- package/.context/workflows/daily-review.md +91 -0
- package/.context/workflows/meeting-actions.md +108 -0
- package/.context/workflows/replication-protocol.md +155 -0
- package/.context/workflows/weekly-review.md +113 -0
- package/.mcp-server-biblio/formatters.py +158 -0
- package/.mcp-server-biblio/pyproject.toml +11 -0
- package/.mcp-server-biblio/server.py +678 -0
- package/.mcp-server-biblio/sources/__init__.py +14 -0
- package/.mcp-server-biblio/sources/base.py +73 -0
- package/.mcp-server-biblio/sources/formatters.py +83 -0
- package/.mcp-server-biblio/sources/models.py +22 -0
- package/.mcp-server-biblio/sources/multi_source.py +243 -0
- package/.mcp-server-biblio/sources/openalex_source.py +183 -0
- package/.mcp-server-biblio/sources/scopus_source.py +309 -0
- package/.mcp-server-biblio/sources/wos_source.py +508 -0
- package/.mcp-server-biblio/uv.lock +896 -0
- package/.scripts/README.md +161 -0
- package/.scripts/ai_pattern_density.py +446 -0
- package/.scripts/conf +445 -0
- package/.scripts/config.py +122 -0
- package/.scripts/count_inventory.py +275 -0
- package/.scripts/daily_digest.py +288 -0
- package/.scripts/done +177 -0
- package/.scripts/extract_meeting_actions.py +223 -0
- package/.scripts/focus +176 -0
- package/.scripts/generate-codex-agents-md.py +217 -0
- package/.scripts/inbox +194 -0
- package/.scripts/notion_helpers.py +325 -0
- package/.scripts/openalex/query_helpers.py +306 -0
- package/.scripts/papers +227 -0
- package/.scripts/query +223 -0
- package/.scripts/session-history.py +201 -0
- package/.scripts/skill-health.py +516 -0
- package/.scripts/skill-log-miner.py +273 -0
- package/.scripts/sync-to-codex.sh +252 -0
- package/.scripts/task +213 -0
- package/.scripts/tasks +190 -0
- package/.scripts/week +206 -0
- package/CLAUDE.md +197 -0
- package/LICENSE +21 -0
- package/MEMORY.md +38 -0
- package/README.md +269 -0
- package/docs/agents.md +44 -0
- package/docs/bibliography-setup.md +55 -0
- package/docs/council-mode.md +36 -0
- package/docs/getting-started.md +245 -0
- package/docs/hooks.md +38 -0
- package/docs/mcp-servers.md +82 -0
- package/docs/notion-setup.md +109 -0
- package/docs/rules.md +33 -0
- package/docs/scripts.md +303 -0
- package/docs/setup-overview/setup-overview.pdf +0 -0
- package/docs/skills.md +70 -0
- package/docs/system.md +159 -0
- package/hooks/block-destructive-git.sh +66 -0
- package/hooks/context-monitor.py +114 -0
- package/hooks/postcompact-restore.py +157 -0
- package/hooks/precompact-autosave.py +181 -0
- package/hooks/promise-checker.sh +124 -0
- package/hooks/protect-source-files.sh +81 -0
- package/hooks/resume-context-loader.sh +53 -0
- package/hooks/startup-context-loader.sh +102 -0
- package/package.json +51 -0
- package/packages/cli-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/cli-council/.github/workflows/claude.yml +50 -0
- package/packages/cli-council/README.md +100 -0
- package/packages/cli-council/pyproject.toml +43 -0
- package/packages/cli-council/src/cli_council/__init__.py +19 -0
- package/packages/cli-council/src/cli_council/__main__.py +185 -0
- package/packages/cli-council/src/cli_council/backends/__init__.py +8 -0
- package/packages/cli-council/src/cli_council/backends/base.py +81 -0
- package/packages/cli-council/src/cli_council/backends/claude.py +25 -0
- package/packages/cli-council/src/cli_council/backends/codex.py +27 -0
- package/packages/cli-council/src/cli_council/backends/gemini.py +26 -0
- package/packages/cli-council/src/cli_council/checkpoint.py +212 -0
- package/packages/cli-council/src/cli_council/config.py +51 -0
- package/packages/cli-council/src/cli_council/council.py +391 -0
- package/packages/cli-council/src/cli_council/models.py +46 -0
- package/packages/llm-council/.github/workflows/claude-code-review.yml +44 -0
- package/packages/llm-council/.github/workflows/claude.yml +50 -0
- package/packages/llm-council/README.md +453 -0
- package/packages/llm-council/pyproject.toml +42 -0
- package/packages/llm-council/src/llm_council/__init__.py +23 -0
- package/packages/llm-council/src/llm_council/__main__.py +259 -0
- package/packages/llm-council/src/llm_council/checkpoint.py +193 -0
- package/packages/llm-council/src/llm_council/client.py +253 -0
- package/packages/llm-council/src/llm_council/config.py +232 -0
- package/packages/llm-council/src/llm_council/council.py +482 -0
- package/packages/llm-council/src/llm_council/models.py +46 -0
- package/packages/mcp-bibliography/MEMORY.md +31 -0
- package/packages/mcp-bibliography/_app.py +226 -0
- package/packages/mcp-bibliography/formatters.py +158 -0
- package/packages/mcp-bibliography/log/2026-03-13-2100.md +35 -0
- package/packages/mcp-bibliography/pyproject.toml +15 -0
- package/packages/mcp-bibliography/run.sh +20 -0
- package/packages/mcp-bibliography/scholarly_formatters.py +83 -0
- package/packages/mcp-bibliography/server.py +1857 -0
- package/packages/mcp-bibliography/tools/__init__.py +28 -0
- package/packages/mcp-bibliography/tools/_registry.py +19 -0
- package/packages/mcp-bibliography/tools/altmetric.py +107 -0
- package/packages/mcp-bibliography/tools/core.py +92 -0
- package/packages/mcp-bibliography/tools/dblp.py +52 -0
- package/packages/mcp-bibliography/tools/openalex.py +296 -0
- package/packages/mcp-bibliography/tools/opencitations.py +102 -0
- package/packages/mcp-bibliography/tools/openreview.py +179 -0
- package/packages/mcp-bibliography/tools/orcid.py +131 -0
- package/packages/mcp-bibliography/tools/scholarly.py +575 -0
- package/packages/mcp-bibliography/tools/unpaywall.py +63 -0
- package/packages/mcp-bibliography/tools/zenodo.py +123 -0
- package/packages/mcp-bibliography/uv.lock +711 -0
- package/scripts/setup.sh +143 -0
- package/skills/beamer-deck/SKILL.md +199 -0
- package/skills/beamer-deck/references/quality-rubric.md +54 -0
- package/skills/beamer-deck/references/review-prompts.md +106 -0
- package/skills/bib-validate/SKILL.md +261 -0
- package/skills/bib-validate/references/council-mode.md +34 -0
- package/skills/bib-validate/references/deep-verify.md +79 -0
- package/skills/bib-validate/references/fix-mode.md +36 -0
- package/skills/bib-validate/references/openalex-verification.md +45 -0
- package/skills/bib-validate/references/preprint-check.md +31 -0
- package/skills/bib-validate/references/ref-manager-crossref.md +41 -0
- package/skills/bib-validate/references/report-template.md +82 -0
- package/skills/code-archaeology/SKILL.md +141 -0
- package/skills/code-review/SKILL.md +265 -0
- package/skills/code-review/references/quality-rubric.md +67 -0
- package/skills/consolidate-memory/SKILL.md +208 -0
- package/skills/context-status/SKILL.md +126 -0
- package/skills/creation-guard/SKILL.md +230 -0
- package/skills/devils-advocate/SKILL.md +130 -0
- package/skills/devils-advocate/references/competing-hypotheses.md +83 -0
- package/skills/init-project/SKILL.md +115 -0
- package/skills/init-project-course/references/memory-and-settings.md +92 -0
- package/skills/init-project-course/references/organise-templates.md +94 -0
- package/skills/init-project-course/skill.md +147 -0
- package/skills/init-project-light/skill.md +139 -0
- package/skills/init-project-research/SKILL.md +368 -0
- package/skills/init-project-research/references/atlas-pipeline-sync.md +70 -0
- package/skills/init-project-research/references/atlas-schema.md +81 -0
- package/skills/init-project-research/references/confirmation-report.md +39 -0
- package/skills/init-project-research/references/domain-profile-template.md +104 -0
- package/skills/init-project-research/references/interview-round3.md +34 -0
- package/skills/init-project-research/references/literature-discovery.md +43 -0
- package/skills/init-project-research/references/scaffold-details.md +197 -0
- package/skills/init-project-research/templates/field-calibration.md +60 -0
- package/skills/init-project-research/templates/pipeline-manifest.md +63 -0
- package/skills/init-project-research/templates/run-all.sh +116 -0
- package/skills/init-project-research/templates/seed-files.md +337 -0
- package/skills/insights-deck/SKILL.md +151 -0
- package/skills/interview-me/SKILL.md +157 -0
- package/skills/latex/SKILL.md +141 -0
- package/skills/latex/references/latex-configs.md +183 -0
- package/skills/latex-autofix/SKILL.md +230 -0
- package/skills/latex-autofix/references/known-errors.md +183 -0
- package/skills/latex-autofix/references/quality-rubric.md +50 -0
- package/skills/latex-health-check/SKILL.md +161 -0
- package/skills/learn/SKILL.md +220 -0
- package/skills/learn/scripts/validate_skill.py +265 -0
- package/skills/lessons-learned/SKILL.md +201 -0
- package/skills/literature/SKILL.md +335 -0
- package/skills/literature/references/agent-templates.md +393 -0
- package/skills/literature/references/bibliometric-apis.md +44 -0
- package/skills/literature/references/cli-council-search.md +79 -0
- package/skills/literature/references/openalex-api-guide.md +371 -0
- package/skills/literature/references/openalex-common-queries.md +381 -0
- package/skills/literature/references/openalex-workflows.md +248 -0
- package/skills/literature/references/reference-manager-sync.md +36 -0
- package/skills/literature/references/scopus-api-guide.md +208 -0
- package/skills/literature/references/wos-api-guide.md +308 -0
- package/skills/multi-perspective/SKILL.md +311 -0
- package/skills/multi-perspective/references/computational-many-analysts.md +77 -0
- package/skills/pipeline-manifest/SKILL.md +226 -0
- package/skills/pre-submission-report/SKILL.md +153 -0
- package/skills/process-reviews/SKILL.md +244 -0
- package/skills/process-reviews/references/rr-routing.md +101 -0
- package/skills/project-deck/SKILL.md +87 -0
- package/skills/project-safety/SKILL.md +135 -0
- package/skills/proofread/SKILL.md +254 -0
- package/skills/proofread/references/quality-rubric.md +104 -0
- package/skills/python-env/SKILL.md +57 -0
- package/skills/quarto-deck/SKILL.md +226 -0
- package/skills/quarto-deck/references/markdown-format.md +143 -0
- package/skills/quarto-deck/references/quality-rubric.md +54 -0
- package/skills/save-context/SKILL.md +174 -0
- package/skills/session-log/SKILL.md +98 -0
- package/skills/shared/concept-validation-gate.md +161 -0
- package/skills/shared/council-protocol.md +265 -0
- package/skills/shared/distribution-diagnostics.md +164 -0
- package/skills/shared/engagement-stratified-sampling.md +218 -0
- package/skills/shared/escalation-protocol.md +74 -0
- package/skills/shared/external-audit-protocol.md +205 -0
- package/skills/shared/intercoder-reliability.md +256 -0
- package/skills/shared/mcp-degradation.md +81 -0
- package/skills/shared/method-probing-questions.md +163 -0
- package/skills/shared/multi-language-conventions.md +143 -0
- package/skills/shared/paid-api-safety.md +174 -0
- package/skills/shared/palettes.md +90 -0
- package/skills/shared/progressive-disclosure.md +92 -0
- package/skills/shared/project-documentation-content.md +443 -0
- package/skills/shared/project-documentation-format.md +281 -0
- package/skills/shared/project-documentation.md +100 -0
- package/skills/shared/publication-output.md +138 -0
- package/skills/shared/quality-scoring.md +70 -0
- package/skills/shared/reference-resolution.md +77 -0
- package/skills/shared/research-quality-rubric.md +165 -0
- package/skills/shared/rhetoric-principles.md +54 -0
- package/skills/shared/skill-design-patterns.md +272 -0
- package/skills/shared/skill-index.md +240 -0
- package/skills/shared/system-documentation.md +334 -0
- package/skills/shared/tikz-rules.md +402 -0
- package/skills/shared/validation-tiers.md +121 -0
- package/skills/shared/venue-guides/README.md +46 -0
- package/skills/shared/venue-guides/cell_press_style.md +483 -0
- package/skills/shared/venue-guides/conferences_formatting.md +564 -0
- package/skills/shared/venue-guides/cs_conference_style.md +463 -0
- package/skills/shared/venue-guides/examples/cell_summary_example.md +247 -0
- package/skills/shared/venue-guides/examples/medical_structured_abstract.md +313 -0
- package/skills/shared/venue-guides/examples/nature_abstract_examples.md +213 -0
- package/skills/shared/venue-guides/examples/neurips_introduction_example.md +245 -0
- package/skills/shared/venue-guides/journals_formatting.md +486 -0
- package/skills/shared/venue-guides/medical_journal_styles.md +535 -0
- package/skills/shared/venue-guides/ml_conference_style.md +556 -0
- package/skills/shared/venue-guides/nature_science_style.md +405 -0
- package/skills/shared/venue-guides/reviewer_expectations.md +417 -0
- package/skills/shared/venue-guides/venue_writing_styles.md +321 -0
- package/skills/split-pdf/SKILL.md +172 -0
- package/skills/split-pdf/methodology.md +48 -0
- package/skills/sync-notion/SKILL.md +93 -0
- package/skills/system-audit/SKILL.md +157 -0
- package/skills/system-audit/references/sub-agent-prompts.md +294 -0
- package/skills/task-management/SKILL.md +131 -0
- package/skills/update-focus/SKILL.md +204 -0
- package/skills/update-project-doc/SKILL.md +194 -0
- package/skills/validate-bib/SKILL.md +242 -0
- package/skills/validate-bib/references/council-mode.md +34 -0
- package/skills/validate-bib/references/deep-verify.md +71 -0
- package/skills/validate-bib/references/openalex-verification.md +45 -0
- package/skills/validate-bib/references/preprint-check.md +31 -0
- package/skills/validate-bib/references/report-template.md +62 -0
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
# Project Documentation — Content Conventions
|
|
2
|
+
|
|
3
|
+
> Conventions for README, user manual, architecture, deploy guide, and in-app help content.
|
|
4
|
+
> Split from [`project-documentation.md`](project-documentation.md) for leanness.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## README.md
|
|
9
|
+
|
|
10
|
+
The README is the front door. It answers: *What is this? How do I run it? Where do I go for more?*
|
|
11
|
+
|
|
12
|
+
### Required Sections (in order)
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
# Project Name
|
|
16
|
+
|
|
17
|
+
Brief description (1-3 sentences). What it does and who it's for.
|
|
18
|
+
|
|
19
|
+
**Live:** [url](url) (if hosted)
|
|
20
|
+
|
|
21
|
+
## What It Does
|
|
22
|
+
|
|
23
|
+
Feature summary — 3-6 bullet points or short subsections.
|
|
24
|
+
Each feature: one sentence of what + one sentence of how.
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
|
|
28
|
+
ASCII diagram showing the high-level data flow.
|
|
29
|
+
Keep to one diagram. Label external services and data stores.
|
|
30
|
+
|
|
31
|
+
## Tech Stack
|
|
32
|
+
|
|
33
|
+
| Component | Technology |
|
|
34
|
+
|-----------|-----------|
|
|
35
|
+
| Backend | FastAPI + Python 3.13 |
|
|
36
|
+
| Frontend | Jinja2 + HTMX + Tailwind |
|
|
37
|
+
| ... | ... |
|
|
38
|
+
|
|
39
|
+
## Local Development
|
|
40
|
+
|
|
41
|
+
### Prerequisites
|
|
42
|
+
- Bullet list of required tools with version constraints
|
|
43
|
+
|
|
44
|
+
### Setup
|
|
45
|
+
```bash
|
|
46
|
+
# Numbered steps, copy-pasteable
|
|
47
|
+
uv venv
|
|
48
|
+
uv pip install -e ".[dev]"
|
|
49
|
+
cp .env.example .env
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### CLI Usage (if applicable)
|
|
53
|
+
Concrete examples with real arguments:
|
|
54
|
+
```bash
|
|
55
|
+
tool-name subcommand "real example argument"
|
|
56
|
+
tool-name subcommand "another example" --flag value
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Documentation
|
|
60
|
+
|
|
61
|
+
| Document | What it covers |
|
|
62
|
+
|----------|---------------|
|
|
63
|
+
| [`docs/user-manual.md`](docs/user-manual.md) | Full user guide |
|
|
64
|
+
| [`docs/architecture.md`](docs/architecture.md) | Technical internals |
|
|
65
|
+
| ... | ... |
|
|
66
|
+
|
|
67
|
+
## Project Structure
|
|
68
|
+
|
|
69
|
+
Annotated file tree — comments explain non-obvious entries.
|
|
70
|
+
|
|
71
|
+
## Related Repos (if applicable)
|
|
72
|
+
|
|
73
|
+
| Repo | What it does |
|
|
74
|
+
|------|-------------|
|
|
75
|
+
| [org/repo](url) | One-line description |
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Shared Flags Table
|
|
79
|
+
|
|
80
|
+
When the CLI has flags shared across subcommands, document them once in a table after the examples:
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
| Flag | Description |
|
|
84
|
+
|------|-------------|
|
|
85
|
+
| `--source`, `-s` | Data source: `openalex`, `scopus`, `wos`, or `multi` |
|
|
86
|
+
| `--model`, `-m` | LLM model in OpenRouter format |
|
|
87
|
+
| `--output`, `-o` | Save output to a file |
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## User Manual
|
|
93
|
+
|
|
94
|
+
The user manual is the comprehensive how-to guide. It answers: *How do I use each feature? What do the results mean?*
|
|
95
|
+
|
|
96
|
+
### Structure
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
# Project Name — User Manual
|
|
100
|
+
|
|
101
|
+
Description of the app and its two interfaces (web + CLI).
|
|
102
|
+
|
|
103
|
+
## Overview
|
|
104
|
+
|
|
105
|
+
What the tool does in 2-3 paragraphs. Include a workflow diagram
|
|
106
|
+
showing how the features connect.
|
|
107
|
+
|
|
108
|
+
## Getting Started
|
|
109
|
+
|
|
110
|
+
### Hosted Version
|
|
111
|
+
URL + auth info.
|
|
112
|
+
|
|
113
|
+
### Local Version
|
|
114
|
+
Brief setup (pointer to README for full instructions).
|
|
115
|
+
|
|
116
|
+
## [Workflow Sections]
|
|
117
|
+
|
|
118
|
+
One `##` section per major workflow or feature group.
|
|
119
|
+
Within each, use `###` for individual workflows numbered sequentially:
|
|
120
|
+
|
|
121
|
+
### 1. Feature Name
|
|
122
|
+
|
|
123
|
+
**Purpose:** One sentence.
|
|
124
|
+
|
|
125
|
+
**How to use:**
|
|
126
|
+
1. Step-by-step instructions
|
|
127
|
+
2. With concrete examples
|
|
128
|
+
3. And expected outcomes
|
|
129
|
+
|
|
130
|
+
**What you get:**
|
|
131
|
+
Description of the output, with field explanations.
|
|
132
|
+
|
|
133
|
+
**CLI equivalent:**
|
|
134
|
+
```bash
|
|
135
|
+
tool-name subcommand "example"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## [Configuration / Settings Sections]
|
|
139
|
+
|
|
140
|
+
### Environment Variables
|
|
141
|
+
|
|
142
|
+
| Variable | Purpose | Required | Default |
|
|
143
|
+
|----------|---------|----------|---------|
|
|
144
|
+
| `OPENROUTER_API_KEY` | LLM access via OpenRouter | Yes | — |
|
|
145
|
+
| `SCOPUS_API_KEY` | Scopus bibliometric data | No | — |
|
|
146
|
+
|
|
147
|
+
### [Other config topics]
|
|
148
|
+
|
|
149
|
+
## Limitations and Caveats
|
|
150
|
+
## Costs (if API-based)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Per-Workflow Pattern
|
|
154
|
+
|
|
155
|
+
Every workflow section follows the same internal structure:
|
|
156
|
+
|
|
157
|
+
1. **URL** — the route path (web apps only): `**URL:** /discover`
|
|
158
|
+
2. **Purpose** — one sentence
|
|
159
|
+
3. **How to use** — numbered steps (typically 3-5)
|
|
160
|
+
4. **What you get** — bullet list with **bold** key outputs and inline descriptions
|
|
161
|
+
5. **CLI equivalent** — command example
|
|
162
|
+
6. **Behind the scenes** (optional) — what happens technically
|
|
163
|
+
7. **Tips** (optional) — power-user advice
|
|
164
|
+
|
|
165
|
+
This consistency lets users learn the pattern once and apply it to every workflow.
|
|
166
|
+
|
|
167
|
+
### Limitations and Caveats
|
|
168
|
+
|
|
169
|
+
Include a numbered list of honest constraints. Each item: **bold limitation** followed by explanation in the same paragraph.
|
|
170
|
+
|
|
171
|
+
```markdown
|
|
172
|
+
## Limitations and Caveats
|
|
173
|
+
|
|
174
|
+
1. **LLM outputs are advisory** — always verify suggestions against primary literature.
|
|
175
|
+
2. **Bibliometric coverage varies by source** — OpenAlex has broader coverage but less metadata than Scopus.
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Target 4-8 items. Cover: accuracy caveats, coverage gaps, cost implications, known failure modes.
|
|
179
|
+
|
|
180
|
+
### Workflow Diagram
|
|
181
|
+
|
|
182
|
+
Place a single ASCII diagram early in the manual showing how workflows connect:
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
Discovery ──→ Novelty ──→ Suggest ──→ Framing
|
|
186
|
+
│
|
|
187
|
+
└──→ Acceptance ──→ Refinement
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Use `──→` for forward flow, `│` and `└──→` for branches. Label each node with the workflow name only (no descriptions in the diagram).
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Architecture Doc
|
|
195
|
+
|
|
196
|
+
The architecture doc is the technical reference for maintainers. It answers: *How does this work internally? Where do I look to change X?*
|
|
197
|
+
|
|
198
|
+
### Structure
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
# Project Name — Architecture
|
|
202
|
+
|
|
203
|
+
> Technical reference for maintainers. For usage, see the [user manual](user-manual.md).
|
|
204
|
+
|
|
205
|
+
## System Overview
|
|
206
|
+
|
|
207
|
+
ASCII diagram: end-to-end data flow from user input to output.
|
|
208
|
+
Show external services, internal layers, and data stores.
|
|
209
|
+
|
|
210
|
+
## [Layer Sections]
|
|
211
|
+
|
|
212
|
+
One `##` per architectural layer (e.g., Service Layer, LLM Service,
|
|
213
|
+
Database, Web Layer). Within each:
|
|
214
|
+
|
|
215
|
+
### Interface / ABC
|
|
216
|
+
|
|
217
|
+
Table of methods:
|
|
218
|
+
| Method | Returns | Purpose |
|
|
219
|
+
|--------|---------|---------|
|
|
220
|
+
|
|
221
|
+
### Implementations
|
|
222
|
+
|
|
223
|
+
Description of each concrete implementation.
|
|
224
|
+
|
|
225
|
+
### Design Pattern
|
|
226
|
+
|
|
227
|
+
Name the pattern (Adapter, Decorator, Composite, etc.)
|
|
228
|
+
and explain why it was chosen.
|
|
229
|
+
|
|
230
|
+
## Data Flow
|
|
231
|
+
|
|
232
|
+
Per-workflow sequence showing which services are called:
|
|
233
|
+
1. User submits form
|
|
234
|
+
2. Route handler extracts parameters
|
|
235
|
+
3. Orchestrator calls data source
|
|
236
|
+
4. ...
|
|
237
|
+
|
|
238
|
+
## Configuration
|
|
239
|
+
|
|
240
|
+
### Environment Variables
|
|
241
|
+
|
|
242
|
+
| Variable | Purpose | Required | Default |
|
|
243
|
+
|----------|---------|----------|---------|
|
|
244
|
+
|
|
245
|
+
### Settings Class
|
|
246
|
+
|
|
247
|
+
Reference to config file, list of fields.
|
|
248
|
+
|
|
249
|
+
## Deployment
|
|
250
|
+
|
|
251
|
+
Brief pointer to deploy guide. Include the Dockerfile stage
|
|
252
|
+
summary if it helps understanding.
|
|
253
|
+
|
|
254
|
+
## Design Patterns
|
|
255
|
+
|
|
256
|
+
Summary table:
|
|
257
|
+
| Pattern | Where | Why |
|
|
258
|
+
|---------|-------|-----|
|
|
259
|
+
| Adapter | services/ | Normalize 3 different APIs |
|
|
260
|
+
|
|
261
|
+
## Dependencies
|
|
262
|
+
|
|
263
|
+
| Package | Version | Purpose |
|
|
264
|
+
|---------|---------|---------|
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Class and Method References
|
|
268
|
+
|
|
269
|
+
When referencing code, use backtick-quoted names that match the source exactly:
|
|
270
|
+
|
|
271
|
+
- Classes: `` `ScoutOrchestrator` ``
|
|
272
|
+
- Methods: `` `discover_topics()` ``
|
|
273
|
+
- Files: `` `services/llm.py` ``
|
|
274
|
+
|
|
275
|
+
These references should be validated automatically (see `validate_docs.py` pattern).
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Deploy Guide
|
|
280
|
+
|
|
281
|
+
The deploy guide covers infrastructure. It answers: *How do I deploy this? What secrets do I need?*
|
|
282
|
+
|
|
283
|
+
### Structure
|
|
284
|
+
|
|
285
|
+
```markdown
|
|
286
|
+
# Deployment Guide
|
|
287
|
+
|
|
288
|
+
## Architecture Overview
|
|
289
|
+
|
|
290
|
+
ASCII diagram showing deployment topology:
|
|
291
|
+
user → CDN/proxy → compute → database.
|
|
292
|
+
|
|
293
|
+
## [Platform Section] (e.g., Fly.io, Railway, AWS)
|
|
294
|
+
|
|
295
|
+
### Configuration
|
|
296
|
+
Relevant config files (fly.toml, docker-compose.yml, etc.)
|
|
297
|
+
Use a Setting | Value | Why table for config file options.
|
|
298
|
+
|
|
299
|
+
### Secrets
|
|
300
|
+
| Secret | Where to set | Purpose |
|
|
301
|
+
|--------|-------------|---------|
|
|
302
|
+
|
|
303
|
+
### CI/CD
|
|
304
|
+
Pipeline description with trigger conditions.
|
|
305
|
+
|
|
306
|
+
## Docker
|
|
307
|
+
Dockerfile stage breakdown (if multi-stage).
|
|
308
|
+
|
|
309
|
+
## Secrets Reference
|
|
310
|
+
Single comprehensive table of all secrets across all services.
|
|
311
|
+
|
|
312
|
+
## Monitoring & Errors
|
|
313
|
+
Sentry, logging, health checks.
|
|
314
|
+
|
|
315
|
+
## Troubleshooting
|
|
316
|
+
Common issues with symptoms and fixes.
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Section Ordering
|
|
320
|
+
|
|
321
|
+
Follow this progression: high-level architecture → concrete setup → infrastructure details → troubleshooting.
|
|
322
|
+
|
|
323
|
+
1. Architecture Overview (ASCII diagram)
|
|
324
|
+
2. What Gets Deployed (components table)
|
|
325
|
+
3. Live URLs
|
|
326
|
+
4. Platform Setup (prerequisites, first-time, commands)
|
|
327
|
+
5. CI/CD Pipeline
|
|
328
|
+
6. Docker Configuration
|
|
329
|
+
7. Secrets Reference (single comprehensive table)
|
|
330
|
+
8. External Services (DNS, CDN, auth)
|
|
331
|
+
9. Monitoring
|
|
332
|
+
10. Troubleshooting
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## In-App Help System
|
|
337
|
+
|
|
338
|
+
When a project has a web UI, the user manual should be accessible directly within the app.
|
|
339
|
+
|
|
340
|
+
### Architecture
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
docs/user-manual.md ──→ help_content.py ──→ /help page (full manual)
|
|
344
|
+
│
|
|
345
|
+
└──→ WORKFLOW_TIPS ──→ contextual tips (per page)
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**Single source of truth:** The `/help` page loads `user-manual.md` at runtime and renders it as HTML. No content duplication — edit the markdown, the web page updates.
|
|
349
|
+
|
|
350
|
+
### Full Help Page
|
|
351
|
+
|
|
352
|
+
- Render the full user manual as HTML with a sticky TOC sidebar
|
|
353
|
+
- TOC built from `##` and `###` headings
|
|
354
|
+
- Anchor IDs derived from heading slugs (lowercase, strip non-alphanumeric, hyphens for spaces)
|
|
355
|
+
- Add a "Help" link to the main navigation bar
|
|
356
|
+
|
|
357
|
+
### Contextual Workflow Tips
|
|
358
|
+
|
|
359
|
+
Each workflow page gets a collapsible tip with:
|
|
360
|
+
- **Title:** "How to use [Workflow Name]"
|
|
361
|
+
- **Tip text:** 2-3 sentences explaining what to do and what to expect
|
|
362
|
+
- **Link:** "Full documentation →" pointing to `/help#section-slug`
|
|
363
|
+
|
|
364
|
+
Tips are defined in a `WORKFLOW_TIPS` dict keyed by workflow name, with `title`, `tip`, and `section` (the slug).
|
|
365
|
+
|
|
366
|
+
### Keeping It In Sync
|
|
367
|
+
|
|
368
|
+
Section slugs in `WORKFLOW_TIPS` must match actual heading slugs in `user-manual.md`. Validate this automatically:
|
|
369
|
+
- CI script checks slug integrity on every push
|
|
370
|
+
- `/sync-repo scout` checks during manual audits
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Library/Package READMEs
|
|
375
|
+
|
|
376
|
+
For standalone packages (llm-council, cli-council), the README serves as the API reference.
|
|
377
|
+
|
|
378
|
+
### Structure
|
|
379
|
+
|
|
380
|
+
```markdown
|
|
381
|
+
# Package Name
|
|
382
|
+
|
|
383
|
+
One-line description of what the package does.
|
|
384
|
+
|
|
385
|
+
## How It Works / The Protocol
|
|
386
|
+
|
|
387
|
+
Diagram or numbered steps showing the core algorithm.
|
|
388
|
+
|
|
389
|
+
## Installation
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
pip install package-name
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
## Quick Start
|
|
396
|
+
|
|
397
|
+
Minimal working example — the fewest lines to get a result:
|
|
398
|
+
```python
|
|
399
|
+
from package import Client
|
|
400
|
+
result = await Client().run("input")
|
|
401
|
+
print(result.summary)
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Usage
|
|
405
|
+
|
|
406
|
+
### CLI
|
|
407
|
+
```bash
|
|
408
|
+
python -m package "input" --flag value
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Python API
|
|
412
|
+
Longer example with configuration options.
|
|
413
|
+
|
|
414
|
+
## Configuration
|
|
415
|
+
|
|
416
|
+
Prerequisites table (for CLI tools):
|
|
417
|
+
| Backend | Install | Auth |
|
|
418
|
+
|---------|---------|------|
|
|
419
|
+
|
|
420
|
+
Or env var table (for API-based packages).
|
|
421
|
+
|
|
422
|
+
## Output
|
|
423
|
+
|
|
424
|
+
Describe the return type and its key fields.
|
|
425
|
+
|
|
426
|
+
## [Additional Sections]
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Code Examples
|
|
430
|
+
|
|
431
|
+
- Use **real arguments** in examples, not placeholders (`"human-AI collaboration"` not `"your topic here"`)
|
|
432
|
+
- Show the **import path** explicitly — never assume the reader knows the package structure
|
|
433
|
+
- Include the **return type** and how to access key fields
|
|
434
|
+
- For CLI tools, show **progressive complexity**: simplest invocation first, then flags
|
|
435
|
+
|
|
436
|
+
### CLI Example Conventions
|
|
437
|
+
|
|
438
|
+
- **No `$` prefix** — commands shown as-is, not prefixed with `$` or `>`
|
|
439
|
+
- **Language tag required** — always use ` ```bash ` for shell commands
|
|
440
|
+
- **Output on separate lines** — if showing output, separate from the command with a blank line or comment
|
|
441
|
+
- **Flags after arguments** — `tool-name subcommand "query" --flag value`
|
|
442
|
+
- **Quotes for multi-word arguments** — `"human-AI collaboration"` not `human-AI collaboration`
|
|
443
|
+
- **Shared flags in a table** — when multiple subcommands share flags, document them once in a separate table rather than repeating per-command
|