create-academic-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.
Files changed (96) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +160 -0
  3. package/SECURITY.md +8 -0
  4. package/dist/bin/academic-research.d.ts +2 -0
  5. package/dist/bin/academic-research.js +3 -0
  6. package/dist/bin/create-academic-research.d.ts +2 -0
  7. package/dist/bin/create-academic-research.js +3 -0
  8. package/dist/src/capabilities.d.ts +54 -0
  9. package/dist/src/capabilities.js +487 -0
  10. package/dist/src/cli.d.ts +3 -0
  11. package/dist/src/cli.js +451 -0
  12. package/dist/src/files.d.ts +8 -0
  13. package/dist/src/files.js +44 -0
  14. package/dist/src/names.d.ts +3 -0
  15. package/dist/src/names.js +64 -0
  16. package/dist/src/project.d.ts +28 -0
  17. package/dist/src/project.js +229 -0
  18. package/dist/src/prompts.d.ts +18 -0
  19. package/dist/src/prompts.js +29 -0
  20. package/dist/src/runner.d.ts +12 -0
  21. package/dist/src/runner.js +22 -0
  22. package/dist/src/stack.d.ts +30 -0
  23. package/dist/src/stack.js +180 -0
  24. package/package.json +59 -0
  25. package/template/AGENTS.md +47 -0
  26. package/template/README.md +68 -0
  27. package/template/analysis_outputs/.gitkeep +0 -0
  28. package/template/artifacts/artifact-checklist.md +7 -0
  29. package/template/artifacts/cache/.gitkeep +0 -0
  30. package/template/artifacts/data/.gitkeep +0 -0
  31. package/template/artifacts/models/.gitkeep +0 -0
  32. package/template/artifacts/releases/.gitkeep +0 -0
  33. package/template/configs/agent-stack.yaml +5 -0
  34. package/template/configs/capabilities.yaml +4 -0
  35. package/template/configs/default.yaml +15 -0
  36. package/template/data/external/.gitkeep +0 -0
  37. package/template/data/interim/.gitkeep +0 -0
  38. package/template/data/processed/.gitkeep +0 -0
  39. package/template/data/raw/.gitkeep +0 -0
  40. package/template/debug_outputs/.gitkeep +0 -0
  41. package/template/docs/agent/capability-profile.md +6 -0
  42. package/template/docs/agent/mcp-setup.md +4 -0
  43. package/template/docs/agent/output-contracts.md +8 -0
  44. package/template/docs/agent/research-program.md +3 -0
  45. package/template/docs/data_dictionary/README.md +3 -0
  46. package/template/docs/ethics/data-governance.md +3 -0
  47. package/template/docs/methodology/evaluation-plan.md +3 -0
  48. package/template/docs/methodology/research-design.md +4 -0
  49. package/template/docs/methodology/threats-to-validity.md +3 -0
  50. package/template/docs/reproducibility/README.md +3 -0
  51. package/template/docs/venue/venue-strategy.md +3 -0
  52. package/template/experiments/registry.csv +1 -0
  53. package/template/experiments/templates/experiment-record.md +23 -0
  54. package/template/explore_outputs/.gitkeep +0 -0
  55. package/template/notebooks/README.md +5 -0
  56. package/template/outputs/figures/.gitkeep +0 -0
  57. package/template/outputs/models/.gitkeep +0 -0
  58. package/template/outputs/tables/.gitkeep +0 -0
  59. package/template/package.json +17 -0
  60. package/template/pyproject.toml +41 -0
  61. package/template/reports/paper/.gitkeep +0 -0
  62. package/template/reports/proposal/.gitkeep +0 -0
  63. package/template/reports/rebuttal/README.md +3 -0
  64. package/template/reports/reviews/README.md +3 -0
  65. package/template/reports/slides/.gitkeep +0 -0
  66. package/template/repro_outputs/.gitkeep +0 -0
  67. package/template/sota/gaps.md +9 -0
  68. package/template/sota/literature-matrix.csv +1 -0
  69. package/template/sota/prisma-flow.md +4 -0
  70. package/template/sota/screening-decisions.csv +1 -0
  71. package/template/sota/search-strategy.md +14 -0
  72. package/template/sota/synthesis.md +9 -0
  73. package/template/sources/assets/.gitkeep +0 -0
  74. package/template/sources/bib/citation-audit.csv +1 -0
  75. package/template/sources/bib/references.bib +1 -0
  76. package/template/sources/conversion-ledger.csv +1 -0
  77. package/template/sources/markdown/.gitkeep +0 -0
  78. package/template/sources/metadata/.gitkeep +0 -0
  79. package/template/sources/pdfs/.gitkeep +0 -0
  80. package/template/sources/source-ledger.csv +1 -0
  81. package/template/src/project_package/__init__.py +1 -0
  82. package/template/tests/test_project_structure.py +25 -0
  83. package/template/train_outputs/.gitkeep +0 -0
  84. package/template/wiki/claims/.gitkeep +0 -0
  85. package/template/wiki/concepts/.gitkeep +0 -0
  86. package/template/wiki/contradictions.md +3 -0
  87. package/template/wiki/decisions/.gitkeep +0 -0
  88. package/template/wiki/experiments/.gitkeep +0 -0
  89. package/template/wiki/index.md +9 -0
  90. package/template/wiki/log.md +1 -0
  91. package/template/wiki/methods/.gitkeep +0 -0
  92. package/template/wiki/open_questions.md +3 -0
  93. package/template/wiki/questions/.gitkeep +0 -0
  94. package/template/wiki/sources/.gitkeep +0 -0
  95. package/template/wiki/synthesis.md +3 -0
  96. package/template/wiki/templates/.gitkeep +0 -0
@@ -0,0 +1,68 @@
1
+ # Academic Research Project
2
+
3
+ This repository is an academic research project created with
4
+ `create-academic-research`.
5
+
6
+ The repository is structured for reproducibility, scholarly evidence tracking,
7
+ and LLM-assisted research work. Notebooks are allowed for exploration and final
8
+ narrative analysis, but repeatable logic belongs in `src/`, `scripts/`, and
9
+ tested project code.
10
+
11
+ ## Discipline Scope
12
+
13
+ This template is discipline-general. Use it for academic research projects in
14
+ any field, then specialize the methods, evidence standards, and venues for the
15
+ actual discipline. The companion `academic-research-skills` package gives
16
+ first-class support to computer science research while keeping the repository
17
+ structure useful for broader academic work.
18
+
19
+ The repository is agent-neutral. Capability state uses `agent: auto` unless a
20
+ specific agent target is selected with `--agent`.
21
+
22
+ ## Quickstart
23
+
24
+ Use Python 3.11 or newer.
25
+
26
+ ```bash
27
+ npm install
28
+ python3.11 -m venv .venv
29
+ source .venv/bin/activate
30
+ python -m pip install --upgrade pip
31
+ python -m pip install -e ".[dev]"
32
+ npx academic-research doctor
33
+ ```
34
+
35
+ ## Core Folders
36
+
37
+ - `sources/`: curated papers, reports, metadata, BibTeX, and conversion ledgers.
38
+ - `sota/`: search strategy, screening, literature matrix, synthesis, and gaps.
39
+ - `wiki/`: LLM-maintained durable research memory.
40
+ - `docs/agent/`: active agent workflows, capability profile, and MCP setup.
41
+ - `docs/methodology/`: research design, evaluation plan, and validity threats.
42
+ - `experiments/`: curated experiment registry and run records.
43
+ - `notebooks/`: optional exploratory and narrative notebooks.
44
+ - `outputs/`: final figures, tables, models, and paper-supporting derived assets.
45
+ - `reports/`: proposal, paper, slides, reviews, and rebuttal material.
46
+ - `artifacts/`: open science and artifact evaluation preparation.
47
+ - `src/`: reusable project code.
48
+
49
+ ## Agent Capabilities
50
+
51
+ Project-local skills and MCP records are managed with:
52
+
53
+ ```bash
54
+ npx academic-research skills presets
55
+ npx academic-research skills install --preset default
56
+ npx academic-research skills list
57
+ npx academic-research skills status
58
+ npx academic-research mcp enable arxiv semantic-scholar openalex
59
+ npx academic-research mcp list
60
+ npx academic-research mcp commands arxiv
61
+ npx academic-research mcp install arxiv
62
+ ```
63
+
64
+ `skills list` reports installed project-local skills. `skills presets` reports
65
+ available install presets. `mcp enable` changes project records. `mcp commands`
66
+ prints external install commands without running them. `mcp install` runs
67
+ external tool installation commands and should be used only after reviewing the
68
+ selected MCP.
File without changes
@@ -0,0 +1,7 @@
1
+ # Artifact Checklist
2
+
3
+ - Code release scope:
4
+ - Data release scope:
5
+ - Environment instructions:
6
+ - License:
7
+ - Reproduction command:
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ version: 1
2
+ description: Written by create-academic-research during project creation.
3
+ presets: {}
4
+ mcp_servers: {}
5
+ skill_bundles: {}
@@ -0,0 +1,4 @@
1
+ agent: auto
2
+ preset: default
3
+ scope: project-local
4
+ mcp_servers: []
@@ -0,0 +1,15 @@
1
+ project:
2
+ slug: academic-research-project
3
+ title: Academic Research Project
4
+ profile: academic-general
5
+ package: project_package
6
+
7
+ paths:
8
+ sources: sources
9
+ sota: sota
10
+ wiki: wiki
11
+ experiments: experiments
12
+ outputs: outputs
13
+
14
+ run:
15
+ seed: 42
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,6 @@
1
+ # Agent Capability Profile
2
+
3
+ - Agent target: `auto`
4
+ - Scope: `project-local`
5
+
6
+ This file is written during project creation.
@@ -0,0 +1,4 @@
1
+ # MCP Setup
2
+
3
+ Record active MCP servers, install commands, auth requirements, smoke tests,
4
+ and known risks here.
@@ -0,0 +1,8 @@
1
+ # Output Contracts
2
+
3
+ - `repro_outputs/`: trusted reproduction evidence.
4
+ - `train_outputs/`: training run evidence.
5
+ - `explore_outputs/`: exploratory variants.
6
+ - `analysis_outputs/`: analysis reports and claim audits.
7
+ - `debug_outputs/`: diagnosis artifacts.
8
+ - `outputs/`: curated paper-facing figures, tables, models, and exportable derived assets.
@@ -0,0 +1,3 @@
1
+ # Research Program
2
+
3
+ State the project aim, scope, contribution targets, and current evidence plan.
@@ -0,0 +1,3 @@
1
+ # Data Dictionary
2
+
3
+ Document dataset fields, provenance, licenses, and known limitations.
@@ -0,0 +1,3 @@
1
+ # Data Governance
2
+
3
+ Record privacy, consent, platform terms, license, retention, and sharing rules.
@@ -0,0 +1,3 @@
1
+ # Evaluation Plan
2
+
3
+ Define datasets, baselines, metrics, ablations, and success criteria.
@@ -0,0 +1,4 @@
1
+ # Research Design
2
+
3
+ | rq_id | question | scope | evidence_needed | method | risk | status |
4
+ |---|---|---|---|---|---|---|
@@ -0,0 +1,3 @@
1
+ # Threats To Validity
2
+
3
+ Track internal, external, construct, conclusion, and reproducibility threats.
@@ -0,0 +1,3 @@
1
+ # Reproducibility
2
+
3
+ Record environments, commands, seeds, data versions, and artifact policies.
@@ -0,0 +1,3 @@
1
+ # Venue Strategy
2
+
3
+ Track target venues, fit, review criteria, deadlines, and positioning risks.
@@ -0,0 +1 @@
1
+ run_id,date,git_commit,question,hypothesis,command,config,seed,dataset,metric,result,runtime,status,record_path,notes
@@ -0,0 +1,23 @@
1
+ # Experiment: <run_id>
2
+
3
+ ## Question
4
+
5
+ <fill: experiment question>
6
+
7
+ ## Hypothesis
8
+
9
+ <fill: expected result or pattern>
10
+
11
+ ## Command
12
+
13
+ ```bash
14
+ # <fill: exact command>
15
+ ```
16
+
17
+ ## Result
18
+
19
+ <fill: measured result, output path, or failure>
20
+
21
+ ## Interpretation
22
+
23
+ <fill: claim status, limitations, and next action>
File without changes
@@ -0,0 +1,5 @@
1
+ # Notebooks
2
+
3
+ Use notebooks for exploration, annotation, and narrative analysis. Move reusable
4
+ logic that supports claims into `src/`, and keep notebook outputs synchronized
5
+ with `outputs/`, `analysis_outputs/`, or `experiments/` when they matter.
File without changes
File without changes
File without changes
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "academic-research-project",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "doctor": "academic-research doctor",
7
+ "skills:install": "academic-research skills install --preset default",
8
+ "skills:list": "academic-research skills list",
9
+ "skills:presets": "academic-research skills presets",
10
+ "mcp:list": "academic-research mcp list",
11
+ "mcp:commands": "academic-research mcp commands",
12
+ "mcp:doctor": "academic-research mcp doctor"
13
+ },
14
+ "devDependencies": {
15
+ "create-academic-research": "^0.1.0"
16
+ }
17
+ }
@@ -0,0 +1,41 @@
1
+ [build-system]
2
+ requires = ["setuptools>=69", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "academic-research-project"
7
+ version = "0.1.0"
8
+ description = "Academic research project."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ dependencies = []
12
+
13
+ [project.optional-dependencies]
14
+ dev = [
15
+ "pytest>=8.0",
16
+ "ruff>=0.4"
17
+ ]
18
+ analysis = [
19
+ "numpy>=1.26",
20
+ "pandas>=2.0",
21
+ "matplotlib>=3.8",
22
+ "seaborn>=0.13"
23
+ ]
24
+ notebooks = [
25
+ "ipykernel>=6.0",
26
+ "jupyterlab>=4.0"
27
+ ]
28
+
29
+ [tool.setuptools.packages.find]
30
+ where = ["src"]
31
+
32
+ [tool.pytest.ini_options]
33
+ testpaths = ["tests"]
34
+ pythonpath = ["src"]
35
+
36
+ [tool.ruff]
37
+ line-length = 100
38
+ target-version = "py311"
39
+
40
+ [tool.ruff.lint]
41
+ select = ["E", "F", "I", "UP", "B"]
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ # Rebuttal
2
+
3
+ Store reviewer concern maps, rebuttal drafts, and revision plans here.
@@ -0,0 +1,3 @@
1
+ # Reviews
2
+
3
+ Store internal and external review analysis here.
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ # Research Gaps
2
+
3
+ ## Open Gaps
4
+
5
+ <fill: concrete gaps with source IDs or evidence notes>
6
+
7
+ ## Candidate Contributions
8
+
9
+ <fill: possible contribution claims and failure conditions>
@@ -0,0 +1 @@
1
+ source_id,title,authors,year,venue,method,dataset_or_sample,task_or_problem,key_claim,metric_or_result,limitations,relevance,citation_count_or_signal,identifiers,notes
@@ -0,0 +1,4 @@
1
+ # Review Flow
2
+
3
+ Use this file for PRISMA-style counts when the project uses a systematic or
4
+ scoping review process.
@@ -0,0 +1 @@
1
+ stage,source_id,title,decision,reason,screened_by,date,notes
@@ -0,0 +1,14 @@
1
+ # Search Strategy
2
+
3
+ ## Research Question
4
+
5
+ <fill: research question or review objective>
6
+
7
+ ## Sources Queried
8
+
9
+ | Source | Query | Date | Filters | Results | Notes |
10
+ |---|---|---:|---|---:|---|
11
+
12
+ ## Screening Notes
13
+
14
+ <fill: screening workflow, ambiguity, or reviewer notes>
@@ -0,0 +1,9 @@
1
+ # SOTA Synthesis
2
+
3
+ ## Current View
4
+
5
+ <fill: concise synthesis with source IDs>
6
+
7
+ ## Contradictions
8
+
9
+ <fill: competing claims or unresolved conflicts>
File without changes
@@ -0,0 +1 @@
1
+ citation_key,status,issue,source_id,claim_or_location,expected_fix,checked_on,notes
@@ -0,0 +1 @@
1
+ source_id,input_path,output_path,tool,command_or_config,conversion_date,quality,checked_pages,known_issues,notes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ source_id,type,title,authors,year,venue,identifiers,raw_path,derived_path,bib_path,status,relevance,evidence_level,quality_notes,added_on,last_checked,notes
@@ -0,0 +1 @@
1
+ """Project package."""
@@ -0,0 +1,25 @@
1
+ from pathlib import Path
2
+
3
+
4
+ def test_core_research_structure_exists() -> None:
5
+ root = Path(__file__).resolve().parents[1]
6
+ for relative in (
7
+ "AGENTS.md",
8
+ "configs/default.yaml",
9
+ "configs/capabilities.yaml",
10
+ "docs/agent/capability-profile.md",
11
+ "notebooks/README.md",
12
+ "outputs/figures",
13
+ "outputs/tables",
14
+ "data/raw",
15
+ "analysis_outputs",
16
+ "artifacts/cache",
17
+ "artifacts/data",
18
+ "artifacts/models",
19
+ "artifacts/releases",
20
+ "sources/source-ledger.csv",
21
+ "sota/literature-matrix.csv",
22
+ "wiki/index.md",
23
+ "wiki/log.md",
24
+ ):
25
+ assert (root / relative).exists()
File without changes
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ # Contradictions
2
+
3
+ Record conflicts across sources, data, experiments, or interpretations.
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ # Wiki Index
2
+
3
+ This is the content index for the LLM-maintained project wiki.
4
+
5
+ ## Core Pages
6
+
7
+ - [[synthesis]]
8
+ - [[open_questions]]
9
+ - [[contradictions]]
@@ -0,0 +1 @@
1
+ # Wiki Log
File without changes
@@ -0,0 +1,3 @@
1
+ # Open Questions
2
+
3
+ - What must be resolved before claims can be made?
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ # Project Synthesis
2
+
3
+ No project-level synthesis has been established yet.
File without changes