create-academic-research 0.1.10 → 0.1.11

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
@@ -229,8 +229,8 @@ Releases are tag-driven. Update `package.json` and `package-lock.json`, commit
229
229
  the change, create `vX.Y.Z`, and push the tag:
230
230
 
231
231
  ```bash
232
- git tag -a v0.1.10 -m "v0.1.10"
233
- git push origin main v0.1.10
232
+ git tag -a v0.1.11 -m "v0.1.11"
233
+ git push origin main v0.1.11
234
234
  ```
235
235
 
236
236
  Once the GitHub repository is public, the release workflow validates the tag
@@ -1,4 +1,4 @@
1
- import { mkdir, readFile, writeFile } from "node:fs/promises";
1
+ import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
2
2
  import { basename, dirname, join, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import YAML from "yaml";
@@ -97,6 +97,7 @@ export async function createProject(options) {
97
97
  }
98
98
  await mkdir(dirname(target), { recursive: true });
99
99
  await copyDirectory(templateRoot, target);
100
+ await writeGeneratedGitignore(target);
100
101
  await personalizeProject(target, { title, slug, packageName, profile: options.profile ?? "academic-general" });
101
102
  await writeGeneratedPackageJson(target, { slug });
102
103
  await writeAgentStack(target);
@@ -130,6 +131,7 @@ export async function doctorProject(root) {
130
131
  const errors = [];
131
132
  const required = [
132
133
  "README.md",
134
+ ".gitignore",
133
135
  ".env.example",
134
136
  "package.json",
135
137
  "pyproject.toml",
@@ -227,6 +229,13 @@ async function writeGeneratedPackageJson(root, { slug, preserveExistingSpec = fa
227
229
  };
228
230
  await writeJson(path, data);
229
231
  }
232
+ async function writeGeneratedGitignore(root) {
233
+ const source = join(root, "_gitignore");
234
+ if (await exists(source)) {
235
+ await writeFile(join(root, ".gitignore"), await readFile(source, "utf8"), "utf8");
236
+ await rm(source);
237
+ }
238
+ }
230
239
  async function currentPackageVersion() {
231
240
  const packageJson = await readJson(join(packageRoot, "package.json"));
232
241
  if (!packageJson.version) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-academic-research",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Create and manage agent-ready academic research repositories.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -0,0 +1,62 @@
1
+ .DS_Store
2
+ node_modules/
3
+ dist/
4
+ .venv/
5
+ __pycache__/
6
+ *.py[cod]
7
+ *.egg-info/
8
+ build/
9
+ .mypy_cache/
10
+ .pytest_cache/
11
+ .ruff_cache/
12
+ .coverage
13
+ htmlcov/
14
+ data/raw/**
15
+ !data/raw/
16
+ !data/raw/.gitkeep
17
+ data/interim/**
18
+ !data/interim/
19
+ !data/interim/.gitkeep
20
+ data/processed/**
21
+ !data/processed/
22
+ !data/processed/.gitkeep
23
+ data/external/**
24
+ !data/external/
25
+ !data/external/.gitkeep
26
+ outputs/**
27
+ !outputs/
28
+ !outputs/**/
29
+ !outputs/**/.gitkeep
30
+ analysis_outputs/**
31
+ !analysis_outputs/
32
+ !analysis_outputs/.gitkeep
33
+ debug_outputs/**
34
+ !debug_outputs/
35
+ !debug_outputs/.gitkeep
36
+ repro_outputs/**
37
+ !repro_outputs/
38
+ !repro_outputs/.gitkeep
39
+ train_outputs/**
40
+ !train_outputs/
41
+ !train_outputs/.gitkeep
42
+ explore_outputs/**
43
+ !explore_outputs/
44
+ !explore_outputs/.gitkeep
45
+ artifacts/releases/**
46
+ !artifacts/releases/
47
+ !artifacts/releases/.gitkeep
48
+ artifacts/data/**
49
+ !artifacts/data/
50
+ !artifacts/data/.gitkeep
51
+ artifacts/models/**
52
+ !artifacts/models/
53
+ !artifacts/models/.gitkeep
54
+ artifacts/cache/**
55
+ !artifacts/cache/
56
+ !artifacts/cache/.gitkeep
57
+ docs/agent/generated/*.local.json
58
+ .env
59
+ .env.*
60
+ !.env.example
61
+ !.gitkeep
62
+ !README.md
@@ -17,6 +17,6 @@
17
17
  "mcp:probe": "academic-research mcp probe"
18
18
  },
19
19
  "devDependencies": {
20
- "create-academic-research": "0.1.10"
20
+ "create-academic-research": "0.1.11"
21
21
  }
22
22
  }