incremnt 0.1.18 → 0.2.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/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Command-line tool and MCP server for querying your [incremnt](https://incremnt.app) strength training data.
4
4
 
5
+ Requires the [incremnt iOS app](https://www.incremnt.app/) — all workout data originates there.
6
+
5
7
  ## Setup
6
8
 
7
9
  ```bash
@@ -10,7 +12,11 @@ incremnt login
10
12
  incremnt mcp install # registers with Claude Desktop, Claude Code, and Codex CLI
11
13
  ```
12
14
 
13
- This gives you two commands: `incremnt` (CLI) and `incremnt-mcp` (MCP server). The `mcp install` step auto-registers the MCP server with Claude Desktop, Claude Code, and Codex CLI — restart your AI assistant for it to take effect.
15
+ This installs two binaries:
16
+ - `incremnt` (CLI)
17
+ - `incremnt-mcp` (MCP server over stdio)
18
+
19
+ `incremnt mcp install` auto-registers the MCP server with Claude Desktop, Claude Code, and Codex CLI. Restart your assistant app after installing.
14
20
 
15
21
  ## CLI
16
22
 
@@ -22,21 +28,25 @@ After connecting with Apple in the iOS app (Settings > Cloud Sync), your workout
22
28
  incremnt login
23
29
  incremnt sessions list --limit 5
24
30
  incremnt records
25
- incremnt records --pretty
26
31
  incremnt programs current
27
32
  incremnt exercises history --name "Bench Press"
33
+ incremnt browse
28
34
  ```
29
35
 
30
36
  ### Local snapshot
31
37
 
32
- If you prefer to work offline, export a snapshot from the app and point the CLI at it:
38
+ If you prefer to work offline, import a snapshot into the local session:
33
39
 
34
40
  ```bash
35
- incremnt sessions list --input ~/Downloads/export.onemore.json --limit 5
36
- incremnt records --input ~/Downloads/export.onemore.json --pretty
41
+ incremnt login --snapshot ~/Downloads/export.onemore.json
42
+ incremnt sessions list --limit 5
37
43
  ```
38
44
 
39
- If `--input` is omitted, the CLI checks `INCREMNT_SNAPSHOT`, then `ONEMORE_SNAPSHOT`, then common local paths, then the most recent `.onemore.json` in `~/Downloads`.
45
+ Or import a session file:
46
+
47
+ ```bash
48
+ incremnt login --session-file ~/Downloads/session.json
49
+ ```
40
50
 
41
51
  ### Commands
42
52
 
@@ -44,12 +54,25 @@ If `--input` is omitted, the CLI checks `INCREMNT_SNAPSHOT`, then `ONEMORE_SNAPS
44
54
  |---------|-------------|
45
55
  | `sessions list` | Recent sessions with duration and exercise count |
46
56
  | `sessions show --id <id>` | Details for a single session |
57
+ | `sessions compare --session-id <id>` | Compare planned vs actual |
58
+ | `sessions explain --session-id <id>` | Explain session context |
47
59
  | `programs current` | Active program state |
48
60
  | `programs list` | All programs |
61
+ | `programs show --id <id>` | Full program detail |
49
62
  | `cycles list [--program-id <id>]` | Completed cycle summaries |
50
63
  | `cycles show --id <id>` | Details for a completed cycle summary |
51
64
  | `exercises history --name <name>` | Set-by-set history for an exercise |
52
65
  | `records` | Personal records (best e1RM per exercise) |
66
+ | `goals list` / `goals show --id <id>` | Strength plan goals |
67
+ | `health summary` / `health ai` | Health metrics and AI summary |
68
+ | `training load` | ATL/CTL/TSB and workload context |
69
+ | `ask history` / `ask show --id <id>` | Coach conversation history |
70
+ | `programs propose --file <file>` | Submit a program proposal |
71
+ | `programs proposals` | List proposals |
72
+ | `programs proposal dismiss --id <id>` | Dismiss a proposal |
73
+ | `browse` | Interactive Ink browser for sessions, programs, records, goals, cycles, and health |
74
+ | `tui` | Alias for `browse` |
75
+ | `mcp install` | Register `incremnt-mcp` with Claude Desktop, Claude Code, and Codex CLI |
53
76
  | `login` | Authenticate with the hosted sync service |
54
77
  | `logout` | Clear stored session |
55
78
  | `status` | Show current mode, auth state, and config paths |
@@ -59,10 +82,31 @@ If `--input` is omitted, the CLI checks `INCREMNT_SNAPSHOT`, then `ONEMORE_SNAPS
59
82
 
60
83
  | Flag | Description |
61
84
  |------|-------------|
62
- | `--pretty` | Human-readable formatted output (default is JSON) |
63
- | `--input <path>` | Path to a local `.onemore.json` snapshot |
64
- | `--limit <n>` | Limit number of results (for `sessions list`) |
85
+ | `--json` | Force JSON output for command responses |
86
+ | `--limit <n>` | Limit number of results (`sessions list`, `ask history`) |
87
+ | `--days <n>` | Day window (`health summary`) |
65
88
  | `--program-id <id>` | Filter cycle summaries to a program |
89
+ | `--base-url <url>` | Override remote sync service URL for login/bootstrap |
90
+ | `--snapshot <file>` | Bootstrap login from a local snapshot |
91
+ | `--session-file <file>` | Import an existing session file |
92
+ | `--token <token>` / `--email <email>` | Non-interactive bootstrap login options |
93
+
94
+ ### Browse mode key bindings
95
+
96
+ `incremnt browse` (or `incremnt tui`) launches an interactive TUI.
97
+
98
+ - `Tab` / `Shift+Tab`: cycle pane focus (`sections` → `items` → `detail`)
99
+ - `1` / `2` / `3`: jump focus directly to `sections` / `items` / `detail`
100
+ - `h/l` or `←/→`: move pane focus
101
+ - `j/k` or `↑/↓`: navigate rows in focused list pane
102
+ - `/`: enter search mode for current list pane
103
+ - `Esc`: exit search or move focus back
104
+ - `Ctrl-U`: clear search query (in search mode)
105
+ - `Ctrl-L`: clear query and exit search mode
106
+ - `Enter`: open/select in focused pane
107
+ - `PgUp/PgDn`, `g/G`, `Home/End`: list navigation shortcuts
108
+ - `r`: refresh detail for selected item
109
+ - `q` or `Ctrl-C`: quit
66
110
 
67
111
  ### Exercise matching
68
112
 
@@ -89,6 +133,16 @@ To register manually instead, add to your Claude Code project config (`.mcp.json
89
133
 
90
134
  The MCP server uses the same auth session as the CLI — run `incremnt login` first.
91
135
 
136
+ ### MCP tool surface
137
+
138
+ The MCP server exposes the same read/write contract as the CLI command surface, including sessions, programs, cycles, goals, health, training load, ask history/show, and program proposal workflows.
139
+
140
+ You can inspect the exact machine-readable contract at any time:
141
+
142
+ ```bash
143
+ incremnt contract
144
+ ```
145
+
92
146
  ## License
93
147
 
94
148
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incremnt",
3
- "version": "0.1.18",
3
+ "version": "0.2.0",
4
4
  "description": "Command-line tool for querying your incremnt strength training data",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,6 +19,8 @@
19
19
  "dependencies": {
20
20
  "@modelcontextprotocol/sdk": "^1.12.1",
21
21
  "chalk": "^5.6.2",
22
+ "ink": "^5.2.1",
23
+ "react": "^18.3.1",
22
24
  "zod": "^3.24.0"
23
25
  }
24
26
  }