mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-09 11:55:53 +00:00
55 lines
No EOL
2.3 KiB
Markdown
55 lines
No EOL
2.3 KiB
Markdown
# Claude Development Notes
|
|
|
|
## Updating spec.md
|
|
As code changes, the spec.md might get outdated. If you detect outdated information, ask the user if they want to regenerate the spec.md file.
|
|
|
|
### How to regenerate spec.md:
|
|
1. Create a todo list to track the analysis tasks
|
|
2. Use multiple parallel Task tool calls to analyze:
|
|
- Server architecture (src/server/, authentication, session management)
|
|
- Client architecture (src/client/, components, services)
|
|
- fwd.ts application functionality
|
|
- API endpoints and protocols
|
|
- Binary buffer format and WebSocket implementation
|
|
- HQ mode and distributed architecture
|
|
- Activity tracking
|
|
- Anything else not covered above
|
|
3. Focus on capturing:
|
|
- File locations with key line numbers for important functions
|
|
- Component responsibilities and data flow
|
|
- Protocol specifications and message formats
|
|
- Configuration options and CLI arguments
|
|
4. Write a concise spec.md that serves as a navigation map, keeping descriptions brief to minimize token usage
|
|
5. Include a "Key Files Quick Reference" section for fast lookup
|
|
|
|
## Build Process
|
|
- **Never run build commands** - the user has `pnpm run dev` running which handles automatic rebuilds
|
|
- Changes to TypeScript files are automatically compiled and watched
|
|
- Do not run `pnpm run build` or similar build commands
|
|
|
|
## Development Workflow
|
|
- Make changes to source files in `src/`
|
|
- Format, lint and typecheck after you made changes
|
|
- `pnpm run format`
|
|
- `pnpm run lint`
|
|
- `pnpm run lint:fix`
|
|
- `pnpm run typecheck`
|
|
- Always fix all linting and type checking errors, including in unrelated code
|
|
- Never run the tests, unless explicitely asked to. `pnpm run test`
|
|
|
|
## Code References
|
|
**THIS IS OF UTTER IMPORTANCE THE USERS HAPPINESS DEPENDS ON IT!**
|
|
When referencing code locations, you MUST use clickable format that VS Code recognizes:
|
|
- `path/to/file.ts:123` format (file:line)
|
|
- `path/to/file.ts:123-456` (ranges)
|
|
- Always use relative paths from the project root
|
|
- Examples:
|
|
- `src/server/fwd.ts:92` - single line reference
|
|
- `src/server/pty/pty-manager.ts:274-280` - line range
|
|
- `web/src/client/app.ts:15` - when in parent directory
|
|
|
|
NEVER give a code reference or location in any other format.
|
|
|
|
## CRITICAL
|
|
**IMPORTANT**: BEFORE YOU DO ANYTHING, READ spec.md IN FULL USING THE READ TOOL!
|
|
**IMPORTANT**: NEVER USE GREP. ALWAYS USE RIPGREP! |