You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
## Project Structure & Module Organization
4
4
5
-
Core source lives in `src/` and is compiled to `lib/` with TypeScript. The GitHub Action bundle checked into releases is `dist/index.js`, generated with `tsup`. Repository metadata and runtime inputs are defined in `action.yml`. CI and integration validation live in `.github/workflows/` and `ci/test.jl`. Helper scripts are under `bin/`, and contributor notes are in `devdocs/`.
5
+
Core source lives in `src/` and is compiled to `lib/` with TypeScript. The GitHub Action bundle checked into releases is `dist/index.cjs`, generated with `tsup`. Repository metadata and runtime inputs are defined in `action.yml`. CI and integration validation live in `.github/workflows/` and `ci/test.jl`. Helper scripts are under `bin/`, and contributor notes are in `devdocs/`.
6
6
7
-
Treat `lib/` and `dist/` as generated outputs: when behavior changes in `src/`, rebuild and commit the updated artifacts. The action bundle must remain a single self-contained `dist/index.js`; if you touch the bundler config, verify runtime dependencies are not being externalized into separate files.
7
+
Treat `lib/` and `dist/` as generated outputs: when behavior changes in `src/`, rebuild and commit the updated artifacts. The action bundle must remain a single self-contained `dist/index.cjs`; if you touch the bundler config, verify runtime dependencies are not being externalized into separate files.
8
8
9
9
## Build, Test, and Development Commands
10
10
@@ -13,23 +13,23 @@ Use the `Makefile` wrappers documented in `devdocs/local_setup.md`:
13
13
-`make mise-install`: install the pinned Node.js version from `.tool-versions`.
14
14
-`make install-packages`: install dependencies with `npm ci`.
15
15
-`make build`: compile TypeScript from `src/` to `lib/`.
16
-
-`make pack`: bundle the action into `dist/index.js`.
16
+
-`make pack`: bundle the action into `dist/index.cjs`.
17
17
-`make everything-from-scratch`: clean, reinstall, build, pack, and clean again.
18
18
-`make clean` / `make cleanall`: remove `node_modules/`, then also `lib/` and `dist/`.
19
19
20
20
## Coding Style & Naming Conventions
21
21
22
-
This project uses TypeScript with strict compiler settings from `tsconfig.json` and ESLint via `.eslintrc.cjs`. Follow the existing style: 4-space indentation, LF line endings, and simple module-level functions. Source files use lowercase names such as `juliaup.ts` and `platform.ts`; many internal helpers use snake_case names to match the current codebase.
22
+
This project uses TypeScript with strict compiler settings from `tsconfig.json` and ESLint via `eslint.config.js`. Follow the existing style: 4-space indentation, LF line endings, and simple module-level functions. Source files use lowercase names such as `juliaup.ts` and `platform.ts`; many internal helpers use snake_case names to match the current codebase.
23
23
24
24
This repo uses ESM with `moduleResolution: "NodeNext"`. Local TypeScript imports in `src/` should use explicit `.js` extensions, and `tsconfig.json` should keep compilation scoped to `src/` so tool configs do not leak into `lib/`.
25
25
26
-
If you run linting manually, use `npx eslint .`. Prefer small, direct functions over abstractions.
26
+
If you run linting manually, use `npm run lint`; it runs both `tsc --noEmit` and ESLint. Prefer small, direct functions over abstractions.
27
27
28
28
## Testing Guidelines
29
29
30
-
CI currently emphasizes build correctness and end-to-end validation. The main integration check is `julia ci/test.jl`, run after the local action installs Julia on the GitHub runner. If you add TypeScript unit tests, place them beside the source or in a matching test location with names ending in `*.test.ts`; Jest is already configured in `package.json`, so `npx jest --coverage` will pick them up.
30
+
CI currently emphasizes build correctness and end-to-end validation. The main integration check is `julia ci/test.jl`, run after the local action installs Julia on the GitHub runner. If you add TypeScript unit tests, place them beside the source or in a matching test location with names ending in `*.test.ts`, and document any new test runner setup in `package.json` and this file.
31
31
32
-
Before opening a PR, run at least `make build` and `make pack`, then confirm there are no unintended diffs.
32
+
Before opening a PR, run at least `npm run lint`, `make build`, and `make pack`, then confirm there are no unintended diffs.
0 commit comments