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 +7 -0
- package/README.md +5 -0
- package/package.json +4 -2
- package/src/detect.js +46 -1
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.
|
|
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://
|
|
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 {
|