Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .claude/settings.json

This file was deleted.

1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ node_modules
dist
coverage
.artifacts
/.repos
.claude/worktrees/
*.log
.DS_Store
1 change: 0 additions & 1 deletion .worktreeinclude

This file was deleted.

15 changes: 13 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ Runtime proofs:

## Worktrees

`.worktreeinclude` reuses `.repos`; Claude symlinks it to avoid another copy.
Run `vp install`, `vp config`, then `pnpm exec vp run verify`.
Run `pnpm exec vp install`, `pnpm exec vp config`, then
`pnpm exec vp run verify`. Effect guidance and inspectable source come from the
installed package under `node_modules/effect`.

## Development Guidance

Expand All @@ -49,6 +50,16 @@ Run `vp install`, `vp config`, then `pnpm exec vp run verify`.
- When the public CLI surface or agent-facing setup flow changes, update [`README.md`](README.md) and [`skills/putio-cli/SKILL.md`](skills/putio-cli/SKILL.md) together so the copy-paste prompt and consumer guidance stay aligned.
- Keep docs free of volatile metrics.

## Learning more about the Effect

This repository uses the Effect TypeScript library.

Before writing any Effect code, first read `node_modules/effect/AGENTS.md`
Comment thread
altaywtf marked this conversation as resolved.
**completely**, and follow the links in the file when required.

If you need to learn more about particular Effect APIs and concepts that the
guide doesn't cover, search through the source code in `node_modules/effect/src`.

## Testing

- Prefer in-process tests unless the process boundary is the behavior under test.
Expand Down
13 changes: 7 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,27 @@ Thanks for contributing to `putio-cli`.
Use the Node version required by [`package.json`](./package.json), then install dependencies:

```bash
vp install
pnpm exec vp install
```

Then install the stock VitePlus hook wiring for this clone:

```bash
vp config
pnpm exec vp config
```

## Run Locally

Start the local build watcher:

```bash
vp run dev
pnpm exec vp run dev
```

Build the CLI once and try the shipped entrypoint:

```bash
vp run build
pnpm exec vp run build
./dist/bin.mjs describe
```

Expand Down Expand Up @@ -59,8 +59,9 @@ See [Distribution](docs/DISTRIBUTION.md) for release automation, credentials, an

- `verify` is the repository delivery gate.
- `verify` enforces the production Effect runtime boundary and dead-code checks, exercises the packed CLI through success and failure paths, and writes the smoke report to `.artifacts/smoke-packed-install.json`.
- `vp config` installs the tracked pre-commit and pre-push hooks; pre-push runs the same `verify` gate as CI.
- Prefer `vp install`, `vp test`, and `vp check` for day-to-day local loops.
- `pnpm exec vp config` installs the tracked pre-commit and pre-push hooks; pre-push runs the same `verify` gate as CI.
- Prefer `pnpm exec vp install`, `pnpm exec vp test`, and `pnpm exec vp check` for day-to-day local loops.
- Keep the exact Effect versions, the Effect override, and the pnpm SDK compatibility patch aligned. The build bundles the patched SDK so installed CLIs and the SDK share one Effect runtime.
- Keep top-level user docs in `README.md` and contributor workflow here.
- Put deeper implementation detail in `docs/` instead of growing the top-level docs.
- Keep `AGENTS.md` as repo-development guidance and `skills/*` as consumer-facing agent guidance.
Expand Down
6 changes: 5 additions & 1 deletion docs/DISTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,16 @@ The npm package includes `dist`, `README.md`, `docs`, `skills`, `AGENTS.md`,
library is part of the public package contract so consuming repos and agents can
install the same guidance that maintainers use from git.

The build bundles the pinned, compatibility-patched put.io SDK into `dist`.
Effect remains a package dependency so the CLI and its bundled SDK execute on
the same installed Effect runtime.

## Local Checks

Before changing distribution wiring, validate the repo-local guardrails the workflow depends on:

```bash
vp install
pnpm exec vp install
pnpm exec vp run verify
pnpm exec vp run smoke:pack
```
14 changes: 8 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
"check:dead-code": "knip",
"coverage": "vp test run --coverage",
"dev": "vp pack --watch",
"prepare": "node ./scripts/prepare-effect.mts",
"prepack": "vp pack",
"smoke:pack": "node ./scripts/smoke-packed-install.mts",
"test": "vp test",
Expand All @@ -50,14 +49,14 @@
"verify": "node ./scripts/check-architecture.mts && knip && vp check . && vp run smoke:pack && vp test && vp test run --coverage"
},
"dependencies": {
"@effect/platform-node": "4.0.0-beta.102",
"@putdotio/sdk": "^10.0.1",
"@effect/platform-node": "4.0.0-beta.107",
"cli-table3": "^0.6.5",
"effect": "4.0.0-beta.102",
"effect": "4.0.0-beta.107",
"i18next": "^26.3.4"
},
"devDependencies": {
"@effect/vitest": "4.0.0-beta.102",
"@effect/vitest": "4.0.0-beta.107",
"@putdotio/sdk": "10.0.1",
"@types/node": "^26.1.0",
"@vitest/coverage-v8": "catalog:",
"esbuild": "^0.28.1",
Expand All @@ -71,5 +70,8 @@
"engines": {
"node": ">=24.18.0"
},
"packageManager": "pnpm@11.2.2"
"packageManager": "pnpm@11.2.2",
"inlinedDependencies": {
"@putdotio/sdk": "10.0.1"
}
}
11 changes: 11 additions & 0 deletions patches/@putdotio__sdk@10.0.1.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff --git a/dist/forms-ByF1AEEn.js b/dist/forms-ByF1AEEn.js
index a727d6b998eeb9126d25ab14c85dcab35c44408d..5a0716b2900693419ddd2ca1b7c2e6b64fbdb0dd 100644
--- a/dist/forms-ByF1AEEn.js
+++ b/dist/forms-ByF1AEEn.js
@@ -45,3 +45,3 @@
-var PutioApiError = class extends Schema.TaggedErrorClass()("PutioApiError", { ...PutioResponseErrorFields }) {};
-var PutioAuthError = class extends Schema.TaggedErrorClass()("PutioAuthError", { ...PutioResponseErrorFields }) {};
-var PutioRateLimitError = class extends Schema.TaggedErrorClass()("PutioRateLimitError", {
+var PutioApiError = class extends Schema.TaggedError()("PutioApiError", { ...PutioResponseErrorFields }) {};
+var PutioAuthError = class extends Schema.TaggedError()("PutioAuthError", { ...PutioResponseErrorFields }) {};
+var PutioRateLimitError = class extends Schema.TaggedError()("PutioRateLimitError", {
Loading