agents-md-gen 0.8.0 → 0.9.1

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,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.1
4
+
5
+ - README: the GitHub Action moved to `Peshino2012/homebrew-tap/action`,
6
+ a public repo. The previous `uses:` line pointed at a private repo,
7
+ which other repos cannot use.
8
+
9
+ ## 0.9.0
10
+
11
+ - Point `funding`/homepage links at the public npm page (they pointed at
12
+ a private GitHub repo, so anyone clicking them got a 404).
13
+ - Detect Zig projects (`build.zig`, name from `build.zig.zon`).
14
+ - Detect Julia projects (`Project.toml`, `test/runtests.jl`).
15
+
3
16
  ## 0.8.0
4
17
 
5
18
  - 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
@@ -77,13 +79,22 @@ docker run --rm -v "$PWD":/workdir ghcr.io/peshino2012/agents-md-gen
77
79
  Use it directly in CI without installing anything:
78
80
 
79
81
  ```yaml
80
- - uses: Peshino2012/PD1@claude/busy-newton-5h97oh
82
+ - uses: Peshino2012/homebrew-tap/action@main
81
83
  with:
82
84
  directory: .
83
85
  also-claude-md: 'true'
84
86
  ```
85
87
 
86
- (pin to a tagged release instead of a branch once one exists)
88
+ Or fail CI when `AGENTS.md` goes stale:
89
+
90
+ ```yaml
91
+ - uses: Peshino2012/homebrew-tap/action@main
92
+ with:
93
+ check: 'true'
94
+ ```
95
+
96
+ Inputs: `directory`, `output`, `also-claude-md`, `force`, `check`, and
97
+ `version` (defaults to `latest`; set it to pin a release).
87
98
 
88
99
  A repo can match more than one of these (e.g. a Python backend next to a
89
100
  Node frontend) — each detected stack gets its own section.
@@ -129,6 +140,8 @@ this package's own repo:
129
140
  ## Structure
130
141
 
131
142
  - `.github/` — GitHub config (CI, templates)
143
+ - `CHANGELOG.md`
144
+ - `Dockerfile`
132
145
  - `LICENSE`
133
146
  - `README.md`
134
147
  - `bin/` — CLI entry points
@@ -140,6 +153,7 @@ this package's own repo:
140
153
 
141
154
  - CI: GitHub Actions (test.yml)
142
155
  - License: MIT
156
+ - Docker: Dockerfile
143
157
  ````
144
158
 
145
159
  ## 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.1",
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 {