create-academic-research 0.1.0 → 0.1.2

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/README.md CHANGED
@@ -14,6 +14,9 @@ Equivalent explicit form:
14
14
  npx create-academic-research@latest my-project
15
15
  ```
16
16
 
17
+ Prefer the explicit `@latest` form. Some npm/npx versions reuse an older
18
+ cached creator when the version is omitted.
19
+
17
20
  From GitHub:
18
21
 
19
22
  ```bash
@@ -41,7 +44,7 @@ specific target recognized by the `skills` CLI, such as `claude-code`,
41
44
  By default, the wizard:
42
45
 
43
46
  - creates the repository structure;
44
- - configures project-local skills;
47
+ - installs the project-local `VincenzoImp/academic-research-skills` package;
45
48
  - enables the scholarly MCP records for `arxiv`, `semantic-scholar`, and
46
49
  `openalex`;
47
50
  - writes `configs/capabilities.yaml`;
@@ -50,6 +53,10 @@ By default, the wizard:
50
53
  - appends the onboarding event to `wiki/log.md`;
51
54
  - does not install external MCP tools unless explicitly requested.
52
55
 
56
+ Use `--preset enhanced` when you also want the curated complementary external
57
+ skill bundles for agent engineering, frontend work, testing, document formats,
58
+ and PDF conversion.
59
+
53
60
  ## Non-Interactive Create
54
61
 
55
62
  ```bash
@@ -71,6 +78,7 @@ npx academic-research doctor
71
78
  npx academic-research rename --title "New Title" --slug new-title --package new_title
72
79
  npx academic-research skills presets
73
80
  npx academic-research skills install --preset default
81
+ npx academic-research skills install --preset enhanced
74
82
  npx academic-research skills list
75
83
  npx academic-research skills status
76
84
  npx academic-research skills remove source-ingestion
@@ -107,10 +115,10 @@ MCP commands are split by side-effect:
107
115
  | `mcp list` | List known MCP servers with enabled/available status. |
108
116
  | `mcp enabled` | List only enabled MCP server ids. |
109
117
  | `mcp available` | List the local MCP catalog. |
110
- | `mcp commands` | Print external install commands without running them. |
118
+ | `mcp commands` | Print finite external install commands without running them. Runtime-only `uvx`/`npx` servers may have no install command. |
111
119
  | `mcp enable` | Enable an MCP server in project records and generated snippets. |
112
120
  | `mcp disable` | Remove an MCP server from project records and generated snippets. |
113
- | `mcp install` | Run the external tool install command for selected MCP servers. |
121
+ | `mcp install` | Run finite external tool install commands for selected MCP servers. It must not launch stdio MCP servers. |
114
122
  | `mcp uninstall` | Run the external uninstall command when one exists. |
115
123
  | `mcp doctor` | Validate enabled MCP records and generated snippets. |
116
124
 
@@ -129,6 +137,17 @@ context. They are not automatic capabilities of every raw model API.
129
137
  Use `--agent <agent>` for explicit multi-tool setup; reserve `--agent '*'` for
130
138
  cases where you intentionally want every local agent loader populated.
131
139
 
140
+ Preset intent:
141
+
142
+ | Preset | Intent |
143
+ |---|---|
144
+ | `minimal` | Academic research skills only, no MCP records. |
145
+ | `default` | Academic research skills plus core scholarly MCP records. |
146
+ | `enhanced` | `default` plus curated external complementary skill bundles. |
147
+ | `literature` | SOTA and systematic-review work with citation-library MCP records. |
148
+ | `writing` | Paper-writing and Overleaf-oriented work. |
149
+ | `full` | Broad optional connector and specialist setup. |
150
+
132
151
  ## Validate This Package
133
152
 
134
153
  ```bash
@@ -145,8 +164,8 @@ Releases are tag-driven. Update `package.json` and `package-lock.json`, commit
145
164
  the change, create `vX.Y.Z`, and push the tag:
146
165
 
147
166
  ```bash
148
- git tag -a v0.1.0 -m "v0.1.0"
149
- git push origin main v0.1.0
167
+ git tag -a v0.1.2 -m "v0.1.2"
168
+ git push origin main v0.1.2
150
169
  ```
151
170
 
152
171
  Once the GitHub repository is public, the release workflow validates the tag
package/dist/src/cli.js CHANGED
@@ -36,7 +36,7 @@ async function createMain(argv) {
36
36
  return 0;
37
37
  }
38
38
  if (!target) {
39
- printCreateHelp();
39
+ printMissingTargetHelp();
40
40
  return 1;
41
41
  }
42
42
  if (flagBool(parsed.flags, "install-skills") && flagBool(parsed.flags, "no-install-skills")) {
@@ -224,7 +224,7 @@ async function mcpCommand(argv) {
224
224
  const enabled = new Set(state.mcp_servers ?? []);
225
225
  for (const [name, server] of Object.entries(AGENT_STACK.mcp_servers)) {
226
226
  const status = enabled.has(name) ? "enabled" : "available";
227
- const installer = server.install_command || "manual";
227
+ const installer = mcpInstallMode(server.install_command, server.command);
228
228
  console.log(`${status}\t${name}\t${server.source_need}\t${installer}`);
229
229
  }
230
230
  return 0;
@@ -242,7 +242,7 @@ async function mcpCommand(argv) {
242
242
  assertOnlyOptions(parsed.flags, "mcp available", []);
243
243
  assertNoArguments(parsed.positionals, "mcp available");
244
244
  for (const [name, server] of Object.entries(AGENT_STACK.mcp_servers)) {
245
- const installer = server.install_command || "manual";
245
+ const installer = mcpInstallMode(server.install_command, server.command);
246
246
  console.log(`${name}\t${server.source_need}\t${installer}`);
247
247
  }
248
248
  return 0;
@@ -383,6 +383,11 @@ function assertOnlyOptions(flags, command, allowedOptions) {
383
383
  throw new Error(`${command} does not accept ${unexpected.map((name) => `--${name}`).join(", ")}`);
384
384
  }
385
385
  }
386
+ function mcpInstallMode(installCommand, runtimeCommand) {
387
+ if (installCommand)
388
+ return installCommand;
389
+ return runtimeCommand ? "runtime-only" : "manual";
390
+ }
386
391
  function printCreateHelp() {
387
392
  console.log([
388
393
  "Usage: create-academic-research <project-name> [options]",
@@ -394,16 +399,25 @@ function printCreateHelp() {
394
399
  " --title <name> Project title. Default: title-cased project name.",
395
400
  " --slug <name> Repository/package slug. Default: normalized project name.",
396
401
  " --package <name> Python package name. Default: normalized project name.",
397
- " --preset <name> Capability preset: minimal, default, literature, writing, full.",
402
+ " --preset <name> Capability preset: minimal, default, enhanced, literature, writing, full.",
398
403
  " --profile <name> Project profile metadata. Default: academic-general.",
399
404
  " --agent <name> Agent target. Default: auto-detect.",
400
405
  " --install-skills Install project-local skills without prompting.",
401
406
  " --no-install-skills Skip project-local skill installation.",
402
- " --install-mcp-tools Run external MCP install commands after creation.",
407
+ " --install-mcp-tools Run finite external MCP install commands after creation.",
403
408
  " -h, --help Show this help.",
404
409
  " -v, --version Show package version."
405
410
  ].join("\n"));
406
411
  }
412
+ function printMissingTargetHelp() {
413
+ console.error([
414
+ "Please specify the project directory.",
415
+ "",
416
+ "Usage:",
417
+ " npm create academic-research@latest my-research-project",
418
+ " npx create-academic-research@latest my-research-project"
419
+ ].join("\n"));
420
+ }
407
421
  function printLifecycleHelp() {
408
422
  console.log([
409
423
  "Usage: academic-research <doctor|rename|skills|mcp>",
@@ -432,7 +446,7 @@ function printMcpHelp() {
432
446
  console.log([
433
447
  "Usage: academic-research mcp <list|enabled|available|commands|enable|disable|install|uninstall|doctor> [servers...]",
434
448
  "",
435
- "Manage MCP records and explicit external MCP tool installs.",
449
+ "Manage MCP records and finite external MCP tool installs.",
436
450
  "",
437
451
  "Options:",
438
452
  " --root <path> Project root for project-state commands.",
@@ -205,7 +205,7 @@ async function writeGeneratedPackageJson(root, { slug }) {
205
205
  const path = join(root, "package.json");
206
206
  const data = await readJson(path);
207
207
  const existingSpec = data.devDependencies?.["create-academic-research"];
208
- const packageSpec = process.env.CREATE_ACADEMIC_RESEARCH_PACKAGE_SPEC ?? existingSpec ?? "^0.1.0";
208
+ const packageSpec = process.env.CREATE_ACADEMIC_RESEARCH_PACKAGE_SPEC ?? existingSpec ?? "^0.1.2";
209
209
  data.name = slug;
210
210
  data.devDependencies = {
211
211
  ...(data.devDependencies ?? {}),
package/dist/src/stack.js CHANGED
@@ -56,12 +56,17 @@ export const AGENT_STACK = {
56
56
  },
57
57
  presets: {
58
58
  minimal: {
59
- description: "Only the academic research skill package.",
59
+ description: "Academic research skills only, no MCP records.",
60
60
  skill_bundles: ["academic_research"],
61
61
  mcp_servers: []
62
62
  },
63
63
  default: {
64
- description: "Recommended setup for most academic research projects.",
64
+ description: "Clean academic research setup with core scholarly MCP records.",
65
+ skill_bundles: ["academic_research"],
66
+ mcp_servers: ["arxiv", "semantic-scholar", "openalex"]
67
+ },
68
+ enhanced: {
69
+ description: "Default academic setup plus complementary agent engineering, document, frontend, testing, and doc conversion skills.",
65
70
  skill_bundles: ["academic_research", "default_complementary", "docling"],
66
71
  mcp_servers: ["arxiv", "semantic-scholar", "openalex"]
67
72
  },
@@ -107,7 +112,7 @@ export const AGENT_STACK = {
107
112
  "semantic-scholar": {
108
113
  priority: "default",
109
114
  source_need: "Semantic Scholar papers, citations, authors, and recommendations.",
110
- install_command: "uvx --from git+https://github.com/akapet00/semantic-scholar-mcp semantic-scholar-mcp --help",
115
+ install_command: "",
111
116
  uninstall_command: "",
112
117
  command: "uvx",
113
118
  args: ["--from", "git+https://github.com/akapet00/semantic-scholar-mcp", "semantic-scholar-mcp"],
@@ -118,7 +123,7 @@ export const AGENT_STACK = {
118
123
  openalex: {
119
124
  priority: "default",
120
125
  source_need: "OpenAlex broad scholarly graph.",
121
- install_command: "npx -y @cyanheads/openalex-mcp-server --help",
126
+ install_command: "",
122
127
  uninstall_command: "",
123
128
  command: "npx",
124
129
  args: ["-y", "@cyanheads/openalex-mcp-server"],
@@ -140,7 +145,7 @@ export const AGENT_STACK = {
140
145
  pubmed: {
141
146
  priority: "domain-specific",
142
147
  source_need: "PubMed and biomedical literature.",
143
- install_command: "npx -y @cyanheads/pubmed-mcp-server --help",
148
+ install_command: "",
144
149
  uninstall_command: "",
145
150
  command: "npx",
146
151
  args: ["-y", "@cyanheads/pubmed-mcp-server"],
@@ -151,7 +156,7 @@ export const AGENT_STACK = {
151
156
  zotero: {
152
157
  priority: "local-library",
153
158
  source_need: "Zotero local library and attachments.",
154
- install_command: "uvx zoty --help",
159
+ install_command: "",
155
160
  uninstall_command: "",
156
161
  command: "uvx",
157
162
  args: ["zoty", "mcp"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-academic-research",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Create and manage agent-ready academic research repositories.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -53,6 +53,7 @@ Project-local skills and MCP records are managed with:
53
53
  ```bash
54
54
  npx academic-research skills presets
55
55
  npx academic-research skills install --preset default
56
+ npx academic-research skills install --preset enhanced
56
57
  npx academic-research skills list
57
58
  npx academic-research skills status
58
59
  npx academic-research mcp enable arxiv semantic-scholar openalex
@@ -63,6 +64,11 @@ npx academic-research mcp install arxiv
63
64
 
64
65
  `skills list` reports installed project-local skills. `skills presets` reports
65
66
  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.
67
+ prints finite external install commands without running them. `mcp install`
68
+ runs only finite tool installation commands; runtime-only `uvx`/`npx` MCP
69
+ servers may have no install step and are started later by the MCP client.
70
+
71
+ `default` installs the companion academic research skill package and keeps the
72
+ MCP records focused on core scholarly discovery. `enhanced` adds complementary
73
+ external skills for agent engineering, frontend work, testing, document
74
+ formats, and PDF conversion.
@@ -12,6 +12,6 @@
12
12
  "mcp:doctor": "academic-research mcp doctor"
13
13
  },
14
14
  "devDependencies": {
15
- "create-academic-research": "^0.1.0"
15
+ "create-academic-research": "^0.1.2"
16
16
  }
17
17
  }