@lovek4d/kickflip 0.1.0 → 0.4.0
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.
- package/CONTEXT.md +239 -104
- package/README.md +54 -4
- package/SKILL.md +63 -42
- package/bin/doctor.mjs +4 -3
- package/bin/install.mjs +3 -3
- package/bin/kickflip.mjs +103 -40
- package/bin/statusline.mjs +4 -3
- package/bin/wait-events.mjs +2 -2
- package/board/arch-review.mjs +5 -0
- package/board/auto-review.mjs +2 -0
- package/board/bin/agent.mjs +1 -1
- package/board/bin/board.mjs +371 -82
- package/board/bin/builder-stop-hook.mjs +4 -3
- package/board/domain.mjs +8 -3
- package/board/finish.mjs +3 -0
- package/board/headless.mjs +3 -0
- package/board/on-host.mjs +1 -0
- package/board/permissions.mjs +2 -0
- package/board/public/app-arch.js +75 -0
- package/board/public/app-asks.js +66 -28
- package/board/public/app-banner.js +2 -2
- package/board/public/app-cards.js +354 -77
- package/board/public/app-core.js +40 -8
- package/board/public/app-header.js +33 -8
- package/board/public/app-lanes.js +238 -34
- package/board/public/app-needs.js +2 -0
- package/board/public/app-snapshot.js +45 -11
- package/board/public/app-threads.js +20 -21
- package/board/public/app.html +6 -2
- package/board/public/app.js +114 -33
- package/board/public/attach.js +39 -3
- package/board/public/dialogs.js +161 -118
- package/board/public/hub-kit.js +27 -7
- package/board/public/hub.css +26 -33
- package/board/public/linear-key.js +143 -0
- package/board/public/log.html +48 -0
- package/board/public/prompts.js +9 -8
- package/board/public/prototype-kit.js +6 -6
- package/board/public/prototype-switcher.js +13 -5
- package/board/public/prototype.html +1 -0
- package/board/public/router.js +14 -10
- package/board/public/rules-editor.js +4 -5
- package/board/public/shell.js +21 -7
- package/board/public/sidebar.css +51 -11
- package/board/public/sidebar.js +124 -19
- package/board/public/style.css +244 -56
- package/board/public/toasts.js +5 -3
- package/board/public/ui-cards.js +236 -66
- package/board/public/ui-enums.js +5 -4
- package/board/public/ui-header.js +23 -14
- package/board/public/ui-hub.js +34 -16
- package/board/public/ui-links.js +18 -10
- package/board/public/ui-markdown.js +1 -1
- package/board/public/ui-order.js +21 -0
- package/board/public/ui-page-header.js +13 -8
- package/board/public/ui-patch.js +53 -0
- package/board/public/ui-phase-bars.js +17 -0
- package/board/public/ui-prompts.js +8 -8
- package/board/public/ui-questions.js +35 -11
- package/board/public/ui-sidebar.js +83 -21
- package/board/public/ui-snapshot.js +30 -13
- package/board/public/ui-threads.js +38 -23
- package/board/public/ui.js +96 -16
- package/board/public/view-frame.js +1 -1
- package/board/public/view-hub-settings.js +67 -44
- package/board/public/view-hub.js +105 -13
- package/board/public/view-notes.js +8 -5
- package/board/public/view-questions.js +123 -52
- package/board/public/view-settings.js +235 -62
- package/board/review.mjs +1 -0
- package/board/server.mjs +18 -7
- package/board/store.mjs +15 -6
- package/board/tickets.mjs +3 -3
- package/board/worktree.mjs +20 -13
- package/docs/hub-session.md +4 -4
- package/hooks-plugin/hooks/codex-share-auto.mjs +7 -5
- package/hooks-plugin/hooks/watcher-stop.mjs +41 -0
- package/hub/awake.mjs +1 -0
- package/hub/board-repo.mjs +1 -1
- package/hub/boards.mjs +4 -4
- package/hub/close-board.mjs +1 -1
- package/hub/duration.mjs +1 -0
- package/hub/github.mjs +3 -4
- package/hub/home.mjs +1 -1
- package/hub/hub.mjs +12 -10
- package/hub/incoming.mjs +2 -0
- package/hub/linear.mjs +2 -2
- package/hub/live.mjs +2 -2
- package/hub/new-board.mjs +2 -2
- package/hub/permission-denied-hook.mjs +2 -0
- package/hub/pr-report.mjs +3 -0
- package/hub/presence.mjs +1 -1
- package/hub/prompts.mjs +1 -1
- package/hub/push.mjs +2 -2
- package/hub/readiness.mjs +2 -0
- package/hub/repos.mjs +3 -2
- package/hub/restart-board.mjs +1 -0
- package/hub/routes.mjs +1 -1
- package/hub/schedule.mjs +1 -1
- package/hub/sessions.mjs +2 -2
- package/hub/shell.mjs +2 -1
- package/hub/slack.mjs +2 -0
- package/hub/stream.mjs +12 -12
- package/hub/sw.js +2 -2
- package/hub/trust.mjs +2 -0
- package/hub/try.mjs +8 -3
- package/hub/upgrade.mjs +1 -0
- package/hub/usage.mjs +3 -3
- package/hub/views.mjs +1 -1
- package/package.json +5 -1
- package/shared/card-prs.mjs +1 -0
- package/shared/colors.css +9 -6
- package/shared/fake-gh.mjs +105 -0
- package/shared/repos.mjs +1 -1
- package/shared/service.mjs +16 -16
- package/shared/skills.mjs +2 -0
- package/shared/usage-gate.mjs +1 -1
- package/starter/public/claude.js +3 -2
- package/bin/web-ts.mjs +0 -2
- package/board/public/view-polling.js +0 -87
package/README.md
CHANGED
|
@@ -4,21 +4,71 @@ Kickflip puts your Claude Code sessions' work on your phone. One hub on your hos
|
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
On a Mac, with [Homebrew](https://brew.sh):
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
|
+
brew install node git gh
|
|
11
|
+
brew install --cask tailscale-app claude-code
|
|
12
|
+
|
|
10
13
|
npm i -g @lovek4d/kickflip
|
|
11
|
-
kickflip
|
|
14
|
+
kickflip init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Kickflip needs Node 22 or newer. On Linux, install the same tools with your package manager.
|
|
18
|
+
|
|
19
|
+
Sign in to Tailscale and turn on HTTPS certificates for your tailnet. Run `gh auth login`. Do both on the host, and put Tailscale on your phone too.
|
|
20
|
+
|
|
21
|
+
Optional: tmux, only for `kickflip join --hub` and `kickflip hub` below, and Codex.
|
|
22
|
+
|
|
23
|
+
`kickflip init` links kickflip into Claude Code, starts the hub as a login service and serves it over Tailscale. Run `kickflip doctor` any time to see what is set up and what is not.
|
|
24
|
+
|
|
25
|
+
## Open on your phone
|
|
26
|
+
|
|
27
|
+
Run `kickflip url`. Open the address it prints.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
$ kickflip url
|
|
31
|
+
https://mac.tailnet-name.ts.net/
|
|
12
32
|
```
|
|
13
33
|
|
|
14
|
-
|
|
34
|
+
Add it to your home screen to get push notifications.
|
|
35
|
+
|
|
36
|
+
## Add a board
|
|
37
|
+
|
|
38
|
+
- **From the app:** tap New board and pick a GitHub repo.
|
|
39
|
+
- **From a folder:** in a git repo's folder, run `kickflip join`. It asks for a board name and starts the board's Claude Code session in the background.
|
|
40
|
+
|
|
41
|
+
The hub checks every board's PRs on GitHub in one query, and handles about 50 open PRs at once.
|
|
42
|
+
|
|
43
|
+
## Run the hub board in tmux (optional)
|
|
44
|
+
|
|
45
|
+
To have the hub board's session running in a terminal you can attach to, run `kickflip join --hub` in its folder. Later, `kickflip hub` attaches to it, or starts it first. This needs tmux.
|
|
46
|
+
|
|
47
|
+
## Commands
|
|
48
|
+
|
|
49
|
+
- `kickflip init`: first-time setup
|
|
50
|
+
- `kickflip url`: print the address to open on your phone
|
|
51
|
+
- `kickflip doctor`: check what is set up, `--fix` repairs it
|
|
52
|
+
- `kickflip join`: add this folder as a board
|
|
53
|
+
- `kickflip hub`: attach to the hub board's tmux session
|
|
54
|
+
- `kickflip sessions`: list each board's session
|
|
55
|
+
- `kickflip start <route>` / `resume <route>`: start or resume a board's session
|
|
56
|
+
- `kickflip restart <route>` / `logs <route>`: restart a site or read its log
|
|
57
|
+
- `kickflip close <route>` / `reopen <route>`: close a board and bring it back
|
|
58
|
+
- `kickflip export <route>` / `import <file>`: move a board to another host
|
|
59
|
+
- `kickflip notifications`: set push notifications
|
|
60
|
+
- `kickflip update`: install the latest version
|
|
61
|
+
|
|
62
|
+
Run `kickflip --help` for everything.
|
|
63
|
+
|
|
64
|
+
For sessions, prerequisites in detail and development from a clone, see [SKILL.md](SKILL.md).
|
|
15
65
|
|
|
16
66
|
## License
|
|
17
67
|
|
|
18
68
|
Kickflip is licensed under the [Prosperity Public License 3.0.0](LICENSE).
|
|
19
69
|
|
|
20
70
|
- **Free for noncommercial use:** personal use, hobby projects, study and research, and use by charities, schools and government.
|
|
21
|
-
- **Companies** get a 30-day trial. After that, using kickflip for work needs a commercial license from Love Kharod;
|
|
71
|
+
- **Companies** get a 30-day trial. After that, using kickflip for work needs a commercial license from Love Kharod; reach Love at love@kickflip.sh.
|
|
22
72
|
- **Ever** (https://www.evercars.com) holds a free commercial license with no end date.
|
|
23
73
|
|
|
24
74
|
Contributing? See [CONTRIBUTING.md](CONTRIBUTING.md).
|