agents-md-gen 0.8.0 → 0.9.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0
4
+
5
+ - Point `funding`/homepage links at the public npm page (they pointed at
6
+ a private GitHub repo, so anyone clicking them got a 404).
7
+ - Detect Zig projects (`build.zig`, name from `build.zig.zon`).
8
+ - Detect Julia projects (`Project.toml`, `test/runtests.jl`).
9
+
3
10
  ## 0.8.0
4
11
 
5
12
  - Detect C/C++ projects (CMake/Make, CTest detection).
package/README.md CHANGED
@@ -68,6 +68,8 @@ docker run --rm -v "$PWD":/workdir ghcr.io/peshino2012/agents-md-gen
68
68
  - **C/C++** — CMake, Make, CTest detection
69
69
  - **Haskell** — Stack, Cabal
70
70
  - **Scala** — sbt
71
+ - **Zig** — `build.zig`/`build.zig.zon`
72
+ - **Julia** — `Project.toml`, Pkg test detection
71
73
  - **Monorepos** — Turborepo, Nx, Lerna, Rush, npm/yarn/pnpm workspaces,
72
74
  listing each detected sub-package
73
75
  - CI (GitHub Actions), license, and top-level project structure
@@ -129,6 +131,8 @@ this package's own repo:
129
131
  ## Structure
130
132
 
131
133
  - `.github/` — GitHub config (CI, templates)
134
+ - `CHANGELOG.md`
135
+ - `Dockerfile`
132
136
  - `LICENSE`
133
137
  - `README.md`
134
138
  - `bin/` — CLI entry points
@@ -140,6 +144,7 @@ this package's own repo:
140
144
 
141
145
  - CI: GitHub Actions (test.yml)
142
146
  - License: MIT
147
+ - Docker: Dockerfile
143
148
  ````
144
149
 
145
150
  ## Why
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "agents-md-gen",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Generate a solid AGENTS.md / CLAUDE.md for any repo by detecting its stack, commands, and structure",
5
5
  "license": "MIT",
6
6
  "funding": {
7
7
  "type": "individual",
8
- "url": "https://github.com/Peshino2012/PD1/tree/main/agents-md-gen#readme"
8
+ "url": "https://www.npmjs.com/package/agents-md-gen"
9
9
  },
10
10
  "bin": {
11
11
  "agents-md-gen": "bin/cli.js"
@@ -52,6 +52,8 @@
52
52
  "cpp",
53
53
  "haskell",
54
54
  "scala",
55
+ "zig",
56
+ "julia",
55
57
  "cli",
56
58
  "codegen",
57
59
  "developer-tools"
package/src/detect.js CHANGED
@@ -229,6 +229,51 @@ function detectRuby(root) {
229
229
  };
230
230
  }
231
231
 
232
+ function detectZig(root) {
233
+ const buildZig = readText(root, 'build.zig');
234
+ if (!buildZig) return null;
235
+ const nameMatch = readText(root, 'build.zig.zon');
236
+ const zonNameMatch = nameMatch ? nameMatch.match(/\.name\s*=\s*\.?([A-Za-z0-9_]+)/) : null;
237
+
238
+ return {
239
+ ecosystem: 'Zig',
240
+ name: zonNameMatch ? zonNameMatch[1] : null,
241
+ description: null,
242
+ packageManager: 'zig',
243
+ frameworks: [],
244
+ testFramework: /test\s*\{/.test(buildZig) ? 'zig test' : null,
245
+ commands: {
246
+ install: null,
247
+ build: 'zig build',
248
+ test: 'zig build test',
249
+ lint: 'zig fmt --check .',
250
+ dev: null,
251
+ },
252
+ };
253
+ }
254
+
255
+ function detectJulia(root) {
256
+ const projectToml = readText(root, 'Project.toml');
257
+ if (!projectToml) return null;
258
+ const nameMatch = projectToml.match(/^name\s*=\s*"([^"]+)"/m);
259
+
260
+ return {
261
+ ecosystem: 'Julia',
262
+ name: nameMatch ? nameMatch[1] : null,
263
+ description: null,
264
+ packageManager: 'Pkg',
265
+ frameworks: [],
266
+ testFramework: exists(root, 'test', 'runtests.jl') ? 'Test' : null,
267
+ commands: {
268
+ install: 'julia --project -e "using Pkg; Pkg.instantiate()"',
269
+ build: null,
270
+ test: exists(root, 'test', 'runtests.jl') ? 'julia --project -e "using Pkg; Pkg.test()"' : null,
271
+ lint: null,
272
+ dev: null,
273
+ },
274
+ };
275
+ }
276
+
232
277
  function detectCpp(root) {
233
278
  const hasCMake = exists(root, 'CMakeLists.txt');
234
279
  const hasMakefile = exists(root, 'Makefile') || exists(root, 'makefile');
@@ -555,7 +600,7 @@ function detectMonorepo(root) {
555
600
  }
556
601
 
557
602
  function detectProject(root) {
558
- const detectors = [detectNode, detectPython, detectRust, detectGo, detectRuby, detectJava, detectPhp, detectDotnet, detectSwift, detectDart, detectElixir, detectCpp, detectHaskell, detectScala];
603
+ const detectors = [detectNode, detectPython, detectRust, detectGo, detectRuby, detectJava, detectPhp, detectDotnet, detectSwift, detectDart, detectElixir, detectCpp, detectHaskell, detectScala, detectZig, detectJulia];
559
604
  const stacks = detectors.map((fn) => fn(root)).filter(Boolean);
560
605
 
561
606
  return {