87 lines
1.9 KiB
Markdown
87 lines
1.9 KiB
Markdown
|
|
# Task Completion Checklist
|
||
|
|
|
||
|
|
## After Code Changes
|
||
|
|
|
||
|
|
### 1. Type Checking
|
||
|
|
```bash
|
||
|
|
# Check source files
|
||
|
|
pnpm build
|
||
|
|
|
||
|
|
# Check test files
|
||
|
|
tsbuild check test/**/* --skiplibcheck
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Testing
|
||
|
|
```bash
|
||
|
|
# Run all tests
|
||
|
|
pnpm test
|
||
|
|
|
||
|
|
# Or run specific test
|
||
|
|
tstest test/test.ts --verbose
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Linting/Formatting
|
||
|
|
- No explicit linter/formatter configured in package.json
|
||
|
|
- Follow existing code style patterns
|
||
|
|
|
||
|
|
### 4. Documentation
|
||
|
|
```bash
|
||
|
|
# Update documentation if public API changed
|
||
|
|
pnpm buildDocs
|
||
|
|
```
|
||
|
|
|
||
|
|
## Before Committing
|
||
|
|
|
||
|
|
### 1. Verify Changes
|
||
|
|
```bash
|
||
|
|
git status
|
||
|
|
git diff
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Stage Files
|
||
|
|
```bash
|
||
|
|
git add <files>
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Commit with Clear Message
|
||
|
|
```bash
|
||
|
|
git commit -m "Brief description of single focused change"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Commit Best Practices
|
||
|
|
- **Small, focused commits** with single clear purpose
|
||
|
|
- **Descriptive messages** explaining "what" and "why"
|
||
|
|
- **Avoid mixing** different change types in one commit
|
||
|
|
- **Use git mv** for file operations to preserve history
|
||
|
|
|
||
|
|
## Testing Requirements
|
||
|
|
|
||
|
|
### Test File Naming
|
||
|
|
- `*.both.ts` - Browser and Node tests
|
||
|
|
- `*.node.ts` - Node-only tests
|
||
|
|
- `*.browser.ts` - Browser-only tests
|
||
|
|
|
||
|
|
### Test File Requirements
|
||
|
|
- Import `expect`, `expectAsync`, `tap` from `@push.rocks/tapbundle`
|
||
|
|
- Import TypeScript files directly (never compiled JS)
|
||
|
|
- **MUST end with**: `export default tap.start()` or `tap.start()`
|
||
|
|
- Place stubs ONLY in test files, never in production code
|
||
|
|
|
||
|
|
## Common Issues
|
||
|
|
|
||
|
|
### Missing tsrun
|
||
|
|
```bash
|
||
|
|
# If you get "tsrun: command not found"
|
||
|
|
pnpm install --save-dev @git.zone/tsrun
|
||
|
|
```
|
||
|
|
|
||
|
|
### Server Management
|
||
|
|
- **Before reading logs**: Wait 20 seconds for complete log writes
|
||
|
|
- **When killing servers**: Find specific PID, never `killall node`
|
||
|
|
- **Between restarts**: Wait 10 seconds
|
||
|
|
|
||
|
|
## Documentation Updates
|
||
|
|
- Update `readme.md` if public API changes
|
||
|
|
- Consider updating `readme.hints.md` for development findings
|
||
|
|
- Store plans in `readme.plan.md` if needed
|