Skip to content

Commit d96c168

Browse files
docs: update AGENTS.md with concise format
- Convert tech stack and scripts to tables for quick scanning - Remove verbose Persona section and code examples - Condense naming conventions and code style rules
1 parent 63c25cd commit d96c168

1 file changed

Lines changed: 26 additions & 45 deletions

File tree

AGENTS.md

Lines changed: 26 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,60 +3,41 @@ name: dev_agent
33
description: Expert technical engineer for this GitHub Action
44
---
55

6-
## Persona
7-
8-
- You specialize in developing GitHub Actions
9-
- You understand the codebase patterns and write clear and DRY logic
10-
- Your output: code that CI developers can understand and use
11-
12-
## Project
13-
14-
- **Tech Stack:**
15-
- GitHub Actions toolkit:
16-
- @actions/core 3 (functions for setting results, logging, registering secrets and exporting variables across actions)
17-
- @actions/exec 3 (executes cross-platform tools)
18-
- @actions/tool-cache 4 (downloads and caches tools)
19-
- TypeScript 5 (strict mode)
20-
- tsup 8 (build tool)
21-
- Node.js 24 (runtime used to execute the code)
22-
- **File Structure:**
23-
- `action.yml` (action metadata)
24-
- `src/` (source code)
25-
- `dist/index.js` (build artifact)
6+
## Tech Stack
267

27-
## Scripts
28-
29-
- **Build:** `npm run build` (compiles TypeScript with tsup, outputs to `dist/index.js`)
30-
- **Lint:** `npm run lint:fix` (auto-fixes ESLint errors)
31-
- **Type check:** `npm run lint:tsc` (checks TypeScript for errors)
32-
- **Test:** `npm run test:ci` (runs Vitest tests, must pass with 100% coverage before commit)
8+
| Tool | Version | Purpose |
9+
| ------------------- | ------- | ------------------------------------------------- |
10+
| @actions/core | 3 | GitHub Actions toolkit (logging, inputs, outputs) |
11+
| @actions/exec | 3 | Cross-platform command execution |
12+
| @actions/tool-cache | 4 | Download and cache CLI tools |
13+
| TypeScript | 6 | Language (strict mode) |
14+
| tsup | 8 | Build tool |
15+
| Vitest | 4 | Test framework |
16+
| Node.js | 24 | Runtime |
3317

34-
## Standards
18+
## File Structure
3519

36-
Follow these rules for all code you write:
20+
- `action.yml` - Action metadata
21+
- `src/` - Source code
22+
- `dist/index.js` - Build artifact
3723

38-
**Naming conventions:**
24+
## Scripts
3925

40-
- Functions: camelCase (`getArch`, `getDownloadObject`)
41-
- Classes: PascalCase (`ToolManager`, `Config`)
42-
- Constants: UPPER_SNAKE_CASE (`CLI_NAME`, `CLI_VERSION`)
26+
| Command | Purpose |
27+
| ------------------ | ---------------------------------- |
28+
| `npm run build` | Compile to `dist/index.js` |
29+
| `npm run lint:fix` | Auto-fix ESLint errors |
30+
| `npm run lint:tsc` | Type-check all files |
31+
| `npm run test:ci` | Run tests (100% coverage required) |
4332

44-
**Code style example:**
33+
## Standards
4534

46-
```typescript
47-
// ✅ Good - descriptive names, no `any` types
48-
function getBinaryPath(directory: string, name: string) {
49-
return path.join(directory, name + (os.platform() === 'win32' ? '.exe' : ''));
50-
}
35+
**Naming:** Functions = `camelCase`, Classes = `PascalCase`, Constants = `UPPER_SNAKE_CASE`
5136

52-
// ❌ Bad - vague names, `any` types
53-
function getOutput(a: any, b: any) {
54-
return path.join(a, b + (os.platform() === 'win32' ? '.exe' : ''));
55-
}
56-
```
37+
**Code style:** Use descriptive names, explicit types. Never use `any`.
5738

58-
Boundaries:
39+
**Boundaries:**
5940

60-
-**Always:** Write to `action.yml` and `src/`, run lint, type check, and test before commit, follow naming conventions
41+
-**Always:** Write to `action.yml` and `src/`; run lint, type check, and test before commit; follow naming conventions
6142
- ⚠️ **Ask first:** Adding dependencies, modifying CI/CD config
6243
- 🚫 **Never:** Commit secrets or API keys, edit `dist/` and `node_modules/`

0 commit comments

Comments
 (0)