mirror of
https://github.com/peaceiris/actions-gh-pages.git
synced 2026-09-23 13:18:40 +00:00
Document repository structure, development commands, testing expectations, and release-only handling for generated lib/index.js. Co-Authored-By: Codex <codex@openai.com>
60 lines
2.8 KiB
Markdown
60 lines
2.8 KiB
Markdown
# Repository Guidelines
|
|
|
|
## Agent-Specific Instructions
|
|
|
|
Use English for repository-facing content, including documentation, code comments, commit messages, and pull request title/body/comments, unless the task explicitly requires another language.
|
|
|
|
## Project Structure & Module Organization
|
|
|
|
This is a TypeScript GitHub Action for publishing GitHub Pages. Source files live
|
|
in `src/`; `src/index.ts` is the entry point and delegates to modules such as
|
|
`get-inputs.ts`, `git-utils.ts`, and `set-tokens.ts`. Tests live in `__tests__/`,
|
|
with static fixtures under `__tests__/fixtures/`. Documentation is in `README.md`
|
|
and `CHANGELOG.md`; screenshots and docs assets are in `images/`. `action.yml`
|
|
defines action inputs and points to generated `lib/index.js`.
|
|
|
|
## Build, Test, and Development Commands
|
|
|
|
Use Node `>=20.11.0` and npm `>=10.2.4`.
|
|
|
|
- `npm ci`: install dependencies from `package-lock.json`.
|
|
- `npm run all`: run format, lint, and Jest tests.
|
|
- `npm run build`: bundle `src/index.ts` into `lib/` with `ncc`.
|
|
- `npm run tsc`: run the TypeScript compiler checks.
|
|
- `npm test`: run Jest with coverage and verbose output.
|
|
- `npm run lint` / `npm run lint:fix`: check or fix ESLint issues.
|
|
- `npm run format:check` / `npm run format`: check or apply Prettier formatting.
|
|
|
|
When changing `src/`, build locally if needed for verification, but do not commit
|
|
`lib/index.js` in normal changes. Generated `lib/index.js` is placed on `main`
|
|
only during releases.
|
|
|
|
## Coding Style & Naming Conventions
|
|
|
|
Write strict TypeScript and keep module boundaries small. Use 2-space
|
|
indentation, semicolons, single quotes, no trailing commas, and a 100-character
|
|
print width, matching `.prettierrc.json`. Test files use `*.test.ts`. Prefer
|
|
names that match action inputs where relevant, for example `publish_branch`.
|
|
|
|
## Testing Guidelines
|
|
|
|
Jest with `ts-jest` is the test framework. Add focused tests in `__tests__/` near
|
|
related behavior, and place reusable filesystem samples in `__tests__/fixtures/`.
|
|
Run `npm test` for coverage, and use `npm run all` before opening a pull request
|
|
that touches TypeScript source or tests.
|
|
|
|
## Commit & Pull Request Guidelines
|
|
|
|
Recent history follows conventional commit prefixes such as `fix(deps):`,
|
|
`chore(deps):`, `docs:`, and `ci:`. Use a concise imperative subject and include
|
|
the scope when it clarifies the affected area. Pull requests should describe the
|
|
change, link related issues, list verification commands, and include screenshots
|
|
only for documentation image changes. Mention any action input or behavior change
|
|
explicitly so reviewers can assess compatibility.
|
|
|
|
## Security & Configuration Tips
|
|
|
|
Do not commit tokens, private keys, or generated secrets. Treat inputs such as
|
|
`deploy_key`, `github_token`, and `personal_token` as sensitive, and keep examples
|
|
limited to placeholder values.
|