@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 +81 -37
- package/build/app.js +241 -95
- package/build/app.js.map +1 -1
- package/build/components/autocomplete-input.js +57 -0
- package/build/components/autocomplete-input.js.map +1 -0
- package/build/components/character.js +7 -4
- package/build/components/character.js.map +1 -1
- package/build/components/choice.js +11 -6
- package/build/components/choice.js.map +1 -1
- package/build/components/entry-form.js +43 -11
- package/build/components/entry-form.js.map +1 -1
- package/build/components/logs-view.js +9 -3
- package/build/components/logs-view.js.map +1 -1
- package/build/components/multi-choice.js +45 -0
- package/build/components/multi-choice.js.map +1 -0
- package/build/components/today-panel.js +17 -10
- package/build/components/today-panel.js.map +1 -1
- package/build/content.js +198 -66
- package/build/content.js.map +1 -1
- package/build/foods.js +159 -0
- package/build/foods.js.map +1 -0
- package/build/i18n.js +262 -36
- package/build/i18n.js.map +1 -1
- package/build/pixel-art.js +333 -413
- package/build/pixel-art.js.map +1 -1
- package/build/progress.js +33 -0
- package/build/progress.js.map +1 -1
- package/build/quotes.js +404 -220
- package/build/quotes.js.map +1 -1
- package/package.json +1 -1
- package/build/components/menu-grid.js +0 -44
- package/build/components/menu-grid.js.map +0 -1
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
|
|
14
|
-
| Everyday Quotes | An inspiring quote that refreshes
|
|
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
|
|
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
|
|
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
|
|
76
|
-
| --------------- |
|
|
77
|
-
| Everyday Quotes |
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
| Logs |
|
|
81
|
-
| Profile |
|
|
82
|
-
| Theme |
|
|
83
|
-
|
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
89
|
+
### Everyday Quotes
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
|
94
|
-
|
|
|
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
|
|
171
|
-
|
|
|
172
|
-
| `
|
|
173
|
-
| `
|
|
174
|
-
| `profile.
|
|
175
|
-
| `profile.
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
178
|
-
| `
|
|
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
|
|
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 |
|