Skip to content

Commit afa397b

Browse files
committed
chore: agents.md
1 parent c02d07d commit afa397b

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Repository Guidelines
2+
3+
## Project Structure & Module Organization
4+
This repository is a Deno-first monorepo.
5+
6+
- `packages/linejs`: main TypeScript library (`@evex/linejs`) with feature modules under `client`, `base`, and `thrift`.
7+
- `packages/types`: shared LINE type definitions (`@evex/linejs-types`).
8+
- `docs`: VitePress documentation site and content.
9+
- `example`: runnable examples for browser, node, talk, square, storage, thrift, etc.
10+
- `scripts`: generation/utility scripts, including thrift tooling and service/type helpers.
11+
- `resources`: static assets used by the project.
12+
13+
`README.md` in the root points to `packages/linejs/README.md` for package-level context.
14+
15+
## Build, Test, and Development Commands
16+
- `deno task dev`: run local sandbox (workspace root).
17+
- `deno task docs:dev`: run docs dev server from `docs`.
18+
- `deno task docs:build`: build docs from `docs`.
19+
- `cd docs && npm run dev|build|serve` or `bun run dev|build|serve`: alternate docs workflows.
20+
- `deno test`: run the Deno test suite (CI uses this at repository root).
21+
- `cd packages/linejs && deno test`: run package-scoped tests.
22+
- `deno fmt`: apply repository formatter (configured in `deno.json`).
23+
24+
## Coding Style & Naming Conventions
25+
- Use Deno formatter settings from repo: tabs for indentation, double quotes in most files.
26+
- Keep TypeScript across all source files and prefer explicit typing for public APIs.
27+
- Use clear, domain-based names: `camelCase` for functions/variables, `PascalCase` for classes/types.
28+
- File names are typically kebab-case or snake-like and placed under relevant feature folders (`client/features/*`, `base/*`).
29+
30+
## Testing Guidelines
31+
- Test framework: Deno’s built-in test runner.
32+
- Test files use `*_test.ts` naming, e.g. `packages/linejs/base/core/typed-event-emitter/index.test.ts`.
33+
- Run tests before PRs: `deno test` or package-scoped commands above.
34+
- Add/adjust unit coverage when changing logic in touched files; keep existing test conventions.
35+
36+
## Commit & Pull Request Guidelines
37+
- Commit history mostly follows Conventional Commit style (`feat:`, `fix:`, `chore:`, `testing:`).
38+
- Use short, imperative summaries, e.g. `feat(client): add message retry logic`.
39+
- PR description should explain behavior changes and testing performed.
40+
- Include reproduction notes when behavior depends on credentials, protocol behavior, or network-sensitive paths.
41+
- Optional checklist items in `.github/pull_request_template.md`: tests, jsdoc updates, local runtime checks.
42+
43+
## Security & Configuration Tips
44+
- Do not commit API secrets, tokens, credentials, or device/account dumps.
45+
- Prefer local config and environment-specific values for experimentation.
46+
- Keep binary assets or generated thrift artifacts under version control only when intentionally derived and reviewed.

0 commit comments

Comments
 (0)