- Single-package TypeScript repo for
@putdotio/sdk - Build and test workflow uses Vite+
- Main areas:
src/*,test/live/*,docs/*,scripts/*
vp installvp check .vp packvp run testvp run coveragevp run test:livevp run verifyvp run bootstrap:tokens
- Treat
@putdotio/sdkas a new public package, not a compatibility wrapper aroundputio-js. - Keep the public surface domain-first and Effect-first.
- Validate external data at the boundary with schemas and keep typed failures explicit.
- Prefer feature/domain modules over layering by technical concern.
- Keep
README.mdconsumer-facing; put repo-operator detail indocs/*and keepAGENTS.mdas a routing layer. - Prefer
vpfor toolchain and package-manager operations; usevp run <script>for custom package scripts. - Keep public package boundaries explicit and open-source-safe.
- Avoid unsafe casts, ignored checks, and weakened thresholds unless explicitly approved.
- Update docs when the public surface, verification workflow, or repo shape changes.
- Default tests exclude
test/live/**. - Use
vp run test:liveor the single-target live commands in Testing when verifying against the real API. - Keep consumer-package verification healthy; the
consumerlive test is the publication safety net.
- Use the shared
putio-sdk-devskill fromputio-skillsfor cross-SDK guidance. Add repo-local.agents/skills/*only for TypeScript SDK guidance that would be too specific for that shared skill. CLAUDE.mdshould remain a symlink to this file.