ytimesy 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +76 -15
  3. package/dist/ytimesy.mjs +424 -424
  4. package/package.json +35 -5
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ytimesy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,21 +1,82 @@
1
- # ytimesy
1
+ # ytimesy CLI
2
2
 
3
- Moves your local coding-agent sessions (Claude Code, Codex, Cursor, Gemini CLI,
4
- OpenCode, Pi, Grok) and your work in progress to [ytimesy](https://ytimesy.com).
3
+ Continue your local coding-agent sessions (Claude Code, Codex, Cursor, Gemini
4
+ CLI, OpenCode, Pi, Grok) and your work in progress in the cloud, on
5
+ [ytimesy](https://ytimesy.com), the AI software engineer in the cloud. New to
6
+ ytimesy? [Start building](https://ytimesy.com).
5
7
 
6
- In ytimesy, open "Continue your agent session" and paste the prompt into your
7
- local agent. It runs:
8
+ ## Quickstart
9
+
10
+ In ytimesy, open "Continue your agent session", copy the prompt and paste it
11
+ into your local agent. It runs the CLI for you; you can also run it yourself:
12
+
13
+ ```sh
14
+ npx -y ytimesy continue --code YTM-XXXX-XXXX-XXXX # plan only
15
+ npx -y ytimesy continue --code YTM-XXXX-XXXX-XXXX --scope session # import
16
+ ```
17
+
18
+ Requires Node.js 22.13+ (older Node skips OpenCode and Cursor sessions, with a
19
+ warning) and `git`. No telemetry.
20
+
21
+ ## Commands
22
+
23
+ The only command is `ytimesy continue`; `ytimesy --help` lists every flag.
24
+
25
+ | Invocation | What it does |
26
+ | --- | --- |
27
+ | `continue --code <code>` | Plan only: detects the current session, lists the scopes and folders, uploads nothing. |
28
+ | `continue --code <code> --scope <s>` | Imports. `session` (default) is this session, `project` every session of this repository, `machine` every session on this computer. |
29
+ | `continue --code <code> --cancel` | Stops the import; the ytimesy card stops waiting. |
30
+ | `--plan` | Prints the plan for `--scope` without importing. |
31
+ | `--create-repo <folder>=<name>` | Creates a private GitHub repository for a folder that has none, with your own `gh` login, and pushes the folder to it. |
32
+ | `--attach <folder>=<project>` | Imports a folder's sessions into an existing ytimesy project. |
33
+ | `--skip <folder>` | Leaves a folder out. |
34
+ | `--yes-untracked` / `--no-untracked` | Pushes the untracked files the plan lists / tracked changes only. |
35
+ | `--yes-public` | Allows untracked files in a public repository. |
36
+ | `--secrets A,B` / `--no-secrets` | Uploads only these `.env` names as project secrets / none. |
37
+ | `--json` | Prints the result as JSON (progress goes to stderr). |
38
+ | `--api <url>` | ytimesy server (default `https://ytimesy.com`). |
39
+
40
+ Exit codes: 0 done (or plan printed), 1 failed, 2 usage error, 3 needs your
41
+ decision (the output names the flag to add).
42
+
43
+ ## The continue-in-cloud flow
44
+
45
+ 1. ytimesy shows a one-time code. The CLI exchanges it for an import token
46
+ that lasts 2 hours.
47
+ 2. The CLI detects your local session and prints a plan. Nothing is uploaded
48
+ yet.
49
+ 3. With `--scope`, it pushes your current work, uncommitted changes included,
50
+ to a new `ytimesy/...` branch using your own Git credentials. Your working
51
+ tree, index and current branch are never changed.
52
+ 4. It uploads the sessions (values from `.env` and `.env.local` are redacted),
53
+ saves the `.env` names you chose as project secrets, and prints the link
54
+ that opens the chat in ytimesy.
55
+
56
+ Re-running the same command resumes: finished steps are skipped.
57
+
58
+ ## Configuration
59
+
60
+ | Variable | Meaning |
61
+ | --- | --- |
62
+ | `YTIMESY_API` | Server to talk to when `--api` is not given (default `https://ytimesy.com`). |
63
+ | `YTIMESY_STATE_DIR` | Where import progress is saved. Default `~/.ytimesy/cli/imports`, then the temp directory. |
64
+ | `GIT_AUTHOR_NAME`, `GIT_AUTHOR_EMAIL` | Author of the work-in-progress commit when git has no identity configured. |
65
+
66
+ ## Build and test
67
+
68
+ From the repository root:
8
69
 
9
70
  ```sh
10
- npx -y ytimesy continue --code YTM-XXXX-XXXX-XXXX # plan only
11
- npx -y ytimesy continue --code YTM-XXXX-XXXX-XXXX --scope session
71
+ pnpm install
72
+ node packages/ytimesy-cli/build.mjs # bundles dist/ytimesy.mjs
73
+ pnpm exec vitest run packages/ytimesy-cli
12
74
  ```
13
75
 
14
- The first command prints a plan and uploads nothing. The second pushes your
15
- current work (uncommitted changes included) to a new `ytimesy/...` branch with
16
- your own Git credentials, without touching your working tree, index or current
17
- branch; uploads the sessions (secrets from `.env` redacted) and opens the chat.
18
- A folder without a GitHub repository can get a new private one with
19
- `--create-repo`: it is created with your own GitHub CLI login (`gh`), never
20
- with ytimesy's credentials.
21
- Run `ytimesy --help` for every flag. Requires Node.js 22.13+ (older Node skips OpenCode and Cursor sessions, with a warning). No telemetry.
76
+ The CLI reuses the session readers in `src/local-sessions` and the import
77
+ types in `src/domain` of the main repository, and the build bundles them into
78
+ one file.
79
+
80
+ ## License
81
+
82
+ [MIT](LICENSE). The ytimesy name and logo are not licensed under MIT.