@siegesailor/terminal-sigma 1.3.0 → 1.4.1

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
@@ -10,10 +10,10 @@ Terminal-Sigma is a terminal-based application that gives game-style feedback on
10
10
 
11
11
  | Component | What It Does |
12
12
  | --------------------- | ------------------------------------------------------------------------------------------------------------- |
13
- | Character Progression | A pixel-art you, shaped by your profile and dressed by your level, who walks around and acts out what you do |
14
- | Everyday Quotes | An inspiring quote that refreshes every 30 minutes, on restart, or on demand |
13
+ | Character Progression | A pixel-art pet, shaped by your profile, dressed by your level, and woken up by what you log today |
14
+ | Everyday Quotes | An inspiring quote that refreshes on your schedule, filtered by category, author, or work |
15
15
  | Health | Your meals and workouts against daily targets worked out from your profile, with advice for the rest of today |
16
- | Logs | Every focus, meal, and workout you logged, with the latest 4 in a Recent block next to the menu |
16
+ | Logs | Every focus, meal, workout, and action you took, with the latest 4 in a Recent block under the menu |
17
17
  | Tomato Timer | A Pomodoro timer: 25 minutes of focus, then a 5-minute break, against a daily goal of 4 focus sessions |
18
18
 
19
19
  Underneath, your journey and your settings are written to the local file `~/.terminal-sigma/progress.json`. There is no plan to support logging at this point, and we chose JSON as a readable format, so that you can port it easily.
@@ -70,28 +70,49 @@ On the first run, it asks for your language and saves the answer in `progress.js
70
70
 
71
71
  ### Menu
72
72
 
73
- The menu drives everything, and Enter opens an item:
73
+ The menu drives everything. It sits in 2 boxes: the items on the left, and on the right what the focused item does, which turns into its options once you press Enter:
74
74
 
75
- | Item | Enter Does |
76
- | --------------- | -------------------------------------------------------------------------------------------------- |
77
- | Everyday Quotes | Draws a new quote |
78
- | Health | Shows today's targets and advice, then logs a meal or a workout |
79
- | Language | Switches between English, Traditional Chinese, and Korean |
80
- | Logs | Lists every focus, meal, and workout, newest first, with a filter per kind |
81
- | Profile | Asks for your name, age, height, weight, gender, work style, and health goal, showing saved values |
82
- | Theme | Picks the color tone of the dashboard and your character, previewing each one as the cursor moves |
83
- | Tomato Timer | Starts a focus, or pauses, resumes, or stops the running one |
75
+ | Key | Item | Enter Opens |
76
+ | --- | --------------- | ----------------------------------------------------------------------------------------- |
77
+ | `1` | Everyday Quotes | A new quote, and the settings below |
78
+ | `2` | Tomato Timer | Start a focus, or pause, resume, or stop the running one |
79
+ | `3` | Health | Today's targets and advice, then log a meal or a workout |
80
+ | `4` | Logs | Every log and action, newest first, with a filter per kind |
81
+ | `5` | Profile | Your name, age, height, weight, gender, work style, and health goal, showing saved values |
82
+ | `6` | Theme | The color tone of the dashboard and your pet, previewing each one as the cursor moves |
83
+ | `7` | Language | English, Traditional Chinese, or Korean |
84
84
 
85
- A meal asks for the food, its calories, and its protein; a workout asks for the activity, its minutes, and its intensity, one at a time. A stopped focus earns nothing. While you log, the character eats, runs, lifts, or stretches to match, and it celebrates when you level up.
85
+ A meal asks for the food, its calories, and its protein; a workout asks for the activity, its minutes, and its intensity, one at a time. The food field suggests as you type, your past meals first and then 112 common foods matched in any of the 3 languages, and picking one fills in its calories and protein. The activity offers your 3 latest workouts to repeat in 1 step. A stopped focus earns nothing.
86
86
 
87
- ### Character
87
+ Everything else you do is logged too, without experience: opening the app, starting, pausing, resuming, or stopping a tomato, finishing a break, leveling up, drawing a quote, and changing the language, the theme, the profile, or a quote setting.
88
88
 
89
- Your character is a pixel-art you that walks around its panel, pauses to look about, and switches to typing, eating, sipping coffee, running, lifting, or stretching to match what you do. 2 things shape it:
89
+ ### Everyday Quotes
90
90
 
91
- | Shaped By | What Changes |
92
- | --------- | ---------------------------------------------------------------------------------------------------------------------------------- |
93
- | Level | 1 piece of equipment per level up to level 9: headphones, a smartwatch, a hoodie, a jacket, a cap, a crown, a backpack, and a cape |
94
- | Profile | The height follows yours, the build follows your weight for that height, and the hair and silhouette follow your gender |
91
+ Each setting is saved as soon as you choose it:
92
+
93
+ | Setting | Values | Default |
94
+ | ------------ | ------------------------------------------------------------------ | ------------- |
95
+ | Author | Any, or a name, suggested from the bundled quotes as you type | Any |
96
+ | Auto-refresh | On or off | On |
97
+ | Categories | Any of the 20 API Ninjas categories, from Art to Writing | All |
98
+ | Exclude | Categories never to show | None |
99
+ | Interval | 15 seconds, 1 minute, 5 minutes, 15 minutes, 25 minutes, or 1 hour | 25 minutes |
100
+ | Source | Random quotes, or the quote of the day | Random quotes |
101
+ | Work | Any, or the title of a book, speech, or play | Any |
102
+
103
+ Without an API key, the settings filter the 28 bundled quotes, which cover every category in all 3 languages, and fall back to all of them when nothing matches. With `API_NINJAS_KEY`, they become the query to API Ninjas.
104
+
105
+ ### Pet
106
+
107
+ Your character is a pixel-art pet in the spirit of Claude Code's mascot. It wanders around its panel and switches to typing at a laptop, sipping from a cup, eating, running, lifting, or stretching to match what you do. 3 things shape it:
108
+
109
+ | Shaped By | What Changes |
110
+ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
111
+ | Level | It grows at levels 4 and 7, and gains 1 piece of gear per level up to level 9: headphones, a scarf, a cap, an orb, an antenna, a cape, a crown, and sparkles |
112
+ | Profile | Its size follows your height and its width your weight for that height; a bow, a tuft, or a sprout follows your gender |
113
+ | Today's Logs | It naps until you log something, and beams once you meet your protein and exercise targets or finish 4 focus sessions; a tomato, an apple, and a dumbbell show what you logged |
114
+
115
+ Your health goal adds a sweatband to lose fat, a heart to maintain, bigger arms to build muscle, or sneakers for endurance.
95
116
 
96
117
  ### Health Targets
97
118
 
@@ -109,13 +130,15 @@ The targets are general guidance for healthy adults, not medical advice.
109
130
 
110
131
  Every view shows its keys at the bottom right:
111
132
 
112
- | Key | Action |
113
- | ------------------------- | --------------------------------------------------------- |
114
- | `1` to `7` | Jump to a menu item |
115
- | Arrows or `h` `j` `k` `l` | Move through the menu, a list, or the log filters |
116
- | Enter | Open the item, choose the option, or go to the next field |
117
- | Esc | Go back to the menu without logging anything |
118
- | `q` or Ctrl+C | Quit from the menu |
133
+ | Key | Action |
134
+ | ------------------------- | ------------------------------------------------------------------------ |
135
+ | `1` to `7` | Jump to a menu item |
136
+ | Arrows or `h` `j` `k` `l` | Move through the menu, a list, a suggestion, or the log filters |
137
+ | Enter | Open the item, choose the option, or go to the next field |
138
+ | Esc | Go back to the menu, or out of a quote setting, without logging anything |
139
+ | `q` or Ctrl+C | Quit from the menu |
140
+ | Space | Tick a category |
141
+ | Tab | Copy the picked suggestion into the field |
119
142
 
120
143
  When a focus or break ends, the terminal rings its bell.
121
144
 
@@ -161,28 +184,49 @@ Both are optional:
161
184
  "minutes": 30,
162
185
  "intensity": "moderate"
163
186
  }
187
+ ],
188
+ "quotes": {
189
+ "autoRefresh": true,
190
+ "interval": 1500,
191
+ "mode": "random",
192
+ "categories": ["wisdom"],
193
+ "excluded": [],
194
+ "author": "",
195
+ "work": ""
196
+ },
197
+ "events": [
198
+ {
199
+ "at": "2026-10-03T09:30:00.000Z",
200
+ "action": "themeChanged",
201
+ "detail": "ember"
202
+ }
164
203
  ]
165
204
  }
166
205
  ```
167
206
 
168
207
  Each setting takes 1 of a fixed set of values:
169
208
 
170
- | Field | Values |
171
- | -------------------- | --------------------------------------------------------------------------- |
172
- | `language` | `en`, `ko`, or `zh-TW` |
173
- | `profile.gender` | `female`, `male`, or `other` |
174
- | `profile.goal` | `buildMuscle`, `endurance`, `loseFat`, or `maintain` |
175
- | `profile.workStyle` | `active`, `athlete`, `desk`, or `standing` |
176
- | `theme` | `dusk`, `ember`, `frost`, `mono`, or `moss` |
177
- | `workouts.activity` | `cycling`, `other`, `running`, `strength`, `swimming`, `walking`, or `yoga` |
178
- | `workouts.intensity` | `light`, `moderate`, or `vigorous` |
209
+ | Field | Values |
210
+ | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
211
+ | `events.action` | `appOpened`, `breakOver`, `languageChanged`, `levelUp`, `profileSaved`, `quoteDrawn`, `quoteSettingsChanged`, `themeChanged`, `timerPaused`, `timerResumed`, `timerStarted`, or `timerStopped` |
212
+ | `language` | `en`, `ko`, or `zh-TW` |
213
+ | `profile.gender` | `female`, `male`, or `other` |
214
+ | `profile.goal` | `buildMuscle`, `endurance`, `loseFat`, or `maintain` |
215
+ | `profile.workStyle` | `active`, `athlete`, `desk`, or `standing` |
216
+ | `quotes.categories`, `quotes.excluded` | `art`, `courage`, `death`, `faith`, `fear`, `freedom`, `happiness`, `humor`, `inspirational`, `leadership`, `life`, `love`, `nature`, `philosophy`, `relationships`, `success`, `time`, `truth`, `wisdom`, or `writing` |
217
+ | `quotes.interval` | Seconds: `15`, `60`, `300`, `900`, `1500`, or `3600` |
218
+ | `quotes.mode` | `daily` or `random` |
219
+ | `theme` | `dusk`, `ember`, `frost`, `mono`, or `moss` |
220
+ | `workouts.activity` | `cycling`, `other`, `running`, `strength`, `swimming`, `walking`, or `yoga` |
221
+ | `workouts.intensity` | `light`, `moderate`, or `vigorous` |
179
222
 
180
223
  Every setting is optional, and files written by version 1 still load as they are.
181
224
 
182
- Every 100 XP is a level, and every level from level 2 to level 9 upgrades 1 piece of your character's gear. Experience is earned as follows:
225
+ Every 100 XP is a level, and every level from level 2 to level 9 gives your pet 1 piece of gear. Experience is earned as follows:
183
226
 
184
227
  | Entry | Experience |
185
228
  | -------------- | --------------------------------------------------------------------- |
229
+ | Action | None |
186
230
  | Finished focus | 1 XP per minute |
187
231
  | Meal | 5 XP |
188
232
  | Workout | Per minute: 1 XP when light, 1.5 XP when moderate, 2 XP when vigorous |