tpp
- Repo stars 547
- License MIT
- Author repo exiftool-vendored.js
Work on TPP
Make progress on the referenced Technical Project Plan by determining the current phase and taking appropriate action.
Required Reading First
Before any work, read these documents:
Process
- Read the TPP from the path given (default: check
_todo/for existing TPPs) - Read all documents listed in the TPP's "Required reading" section
- Identify the current phase from the checklist
- Execute work matching that phase:
- Research & Planning: Explore code, read docs, summarize findings in TPP
- Write breaking tests: Write tests that fail, proving the problem exists
- Design alternatives: Propose options with pros/cons in the Solutions section
- Task breakdown: Create specific, verifiable tasks with file paths and commands
- Implementation: Write code, compile (
npm run compile), run tests (npm test) - Review & Refinement: Lint (
npm run lint), simplify, DRY up, remove dead code - Final Integration: Verify all tests pass, update docs if needed
- Review: Final check against SIMPLE-DESIGN.md principles
- Update the TPP with progress, findings, and any new lore
- When done, move the TPP from
_todo/to_done/
Project Conventions
- Always run
npm run compilebefore testing - Use
??(not||) for nullish coalescing - Use
node:prefix for Node.js imports - Use
if (x != null)notif (x)for boolean safety - No mocks in tests - use real ExifTool and actual image files
- Conventional Commits for commit messages
- Always ask before committing or pushing
- Fluxly category
- AI
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 94 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @photostructure · MIT
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Guided setup
- External API key
- No requirement detected
- Detected OS requirements
- macOS · Linux · Windows
- Runtime requirements
- Node.js
- Detected file/system behavior
-
- Read-only
- Write / modify
- Shell exec
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Before any work, read these documents: CLAUDE.md docs/SIMPLE-DESIGN.md
Read the TPP from the path given (default: check todo/ for existing TPPs) Read all documents listed in the TPP's "Required reading" section Identify the current phase from the checklist
Always run npm run compile before testing Use ?? (not ||) for nullish coalescing Use node: prefix for Node.js imports
# Work on TPP
Make progress on the referenced Technical Project Plan by determining the current
phase and taking appropriate action.
## Required Reading First
Before any work, read these documents:
- [CLAUDE.md](CLAUDE.md)
- [docs/SIMPLE-DESIGN.md](docs/SIMPLE-DESIGN.md)
- [docs/TDD.md](docs/TDD.md)
- [docs/TPP-GUIDE.md](docs/TPP-GUIDE.md)
## Process
1. Read the TPP from the path given (default: check `_todo/` for existing TPPs)
2. Read all documents listed in the TPP's "Required reading" section
3. Identify the current phase from the checklist
4. Execute work matching that phase:
- **Research & Planning**: Explore code, read docs, summarize findings in TPP
- **Write breaking tests**: Write tests that fail, proving the problem exists
- **Design alternatives**: Propose options with pros/cons in the Solutions section
- **Task breakdown**: Create specific, verifiable tasks with file paths and commands
- **Implementation**: Write code, compile (`npm run compile`), run tests (`npm test`)
- **Review & Refinement**: Lint (`npm run lint`), simplify, DRY up, remove dead code
- **Final Integration**: Verify all tests pass, update docs if needed
- **Review**: Final check against SIMPLE-DESIGN.md principles
5. Update the TPP with progress, findings, and any new lore
6. When done, move the TPP from `_todo/` to `_done/`
## Project Conventions
- Always run `npm run compile` before testing
- Use `??` (not `||`) for nullish coalescing
- Use `node:` prefix for Node.js imports
- Use `if (x != null)` not `if (x)` for boolean safety
- No mocks in tests - use real ExifTool and actual image files
- Conventional Commits for commit messages
- Always ask before committing or pushing Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Required Reading First → Process → Project Conventions
terms -> Research & Planning · Write breaking tests · Design alternatives · Task breakdown · Implementation · Review & Refinement · Final Integration · Review
files/cmd -> todo/ · npm run compile · npm test · npm run lint · done/ · node: · if (x != null) · if (x)
body sha256 -> 79e0a94ceb5e
Decide Fit First
Design Intent
How To Use It
Boundaries And Review