{"_id":"jarek-system-inc","_rev":"29-f3410ab0643d9df1a26104f19df6c734","name":"jarek-system-inc","dist-tags":{"latest":"2.4.0"},"versions":{"2.2.0":{"name":"jarek-system-inc","version":"2.2.0","keywords":["cli","terminal","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"author":{"name":"frasntoro"},"license":"SEE LICENSE IN LICENSE","_id":"jarek-system-inc@2.2.0","maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"homepage":"https://github.com/frasntoro/jarek-system-inc#readme","bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"os":["darwin","linux","win32"],"bin":{"jarek":"bin/jarek.js"},"dist":{"shasum":"bae2367e8d9f78372803f507a4e3772162dd811a","tarball":"https://registry.npmjs.org/jarek-system-inc/-/jarek-system-inc-2.2.0.tgz","fileCount":57,"integrity":"sha512-8KI0EaUpMoNYgbxRWcCrodl1gEJq8K+Tjq6ztf3uD3RhHgfryK7Rx4H8/IJ3XEQFDsZMt7Uy+4jRc1undR3v1w==","signatures":[{"sig":"MEUCIQCP4qJwOIYul6k0URWrFc60zIInjvkbhGeXf/00TrHQhQIgJsGM4eJngq948gAxzQhvTtT7yGOR9qbf/qMHmkvU1Yo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrY3YmfxUcLm9/o6rnWltDCfhnvsiU1AauvWFrTYKjmgIgGelex+ZmW2Rte9tn+DR7RV3eZ4AA6nrNCmkzdy+evRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5207732},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"c0411f96ee22d7bff09449820e013d3653f82e5a","scripts":{"demo":"sh media/render.sh","test":"node --test"},"_npmUser":{"name":"frasntoro","email":"frasntoro@gmail.com"},"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"_npmVersion":"11.8.0","description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, custom protocols and a screensaver.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarek-system-inc_2.2.0_1789645497256_0.31414867821563885","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"jarek-system-inc","version":"2.2.1","keywords":["cli","terminal","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"author":{"name":"frasntoro"},"license":"SEE LICENSE IN LICENSE","_id":"jarek-system-inc@2.2.1","maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"homepage":"https://github.com/frasntoro/jarek-system-inc#readme","bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"os":["darwin","linux","win32"],"bin":{"jarek":"bin/jarek.js"},"dist":{"shasum":"9bc5c702134e792d809c67a4b3b097c928dc04c3","tarball":"https://registry.npmjs.org/jarek-system-inc/-/jarek-system-inc-2.2.1.tgz","fileCount":57,"integrity":"sha512-Iz28yA3u+08R04AMl1rm61eQCXiXjGe5NT4X5HovGxmoZlw7tTD27zgjcpEM/GYDTFs6QYQ+HWqYl9B95YTuVA==","signatures":[{"sig":"MEQCIA9oGrXV2MYQU3m9W/i5/x8kpO7NW+EFEobtn9PAiytCAiASu5Hog9l79buVXNtZTX/sUjiHFyXZgBQA0O2sGdCV2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAsESUUpZ71oJRHmNaPyaE4nr35/ZK/9t/t2WWnQfIUwAiEAkmWJRggzv+ovU8yC1TrSpaWEfZfgLmQwpIeqwQvGw+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5207457},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"cd5448af3985f7f052d51820d5239445c6112d32","scripts":{"demo":"sh media/render.sh","test":"node --test"},"_npmUser":{"name":"frasntoro","email":"frasntoro@gmail.com"},"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"_npmVersion":"11.8.0","description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, custom protocols and a screensaver.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarek-system-inc_2.2.1_1789646224847_0.35883736887749507","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"jarek-system-inc","version":"2.2.2","keywords":["cli","terminal","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"author":{"name":"frasntoro"},"license":"SEE LICENSE IN LICENSE","_id":"jarek-system-inc@2.2.2","maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"homepage":"https://github.com/frasntoro/jarek-system-inc#readme","bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"os":["darwin","linux","win32"],"bin":{"jarek":"bin/jarek.js"},"dist":{"shasum":"6c9099702be715f2d40832aa67c1822b83b63df3","tarball":"https://registry.npmjs.org/jarek-system-inc/-/jarek-system-inc-2.2.2.tgz","fileCount":57,"integrity":"sha512-jhDhnl1i8pCB3+ptgtGEPgD6RkOQFby1VkMvfvC/fKKdf4yXQeqq3LHGYS4JGiL3Y7fTX2E/Tgi/CjX6WTSj3w==","signatures":[{"sig":"MEUCICbqhTlpTx+3WoLtcV2dxzJKfeaE6BbLxZkEMmQwEgnbAiEA7bcx+HdsHq8UHOQrlVfAu6qv2WSjYpMQizsCdj8WBLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBu0Sr78xXDLHuNtL3mUj2vf3zek8qYwODZ3qIQlfo5RAiASV81gDr/oY5uBnrrAAOrzHMQsoVZ+uIHdmMLRz0MqfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5207911},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"2921e87e5673b09567b4207ccfe8ce574cd3185c","scripts":{"demo":"sh media/render.sh","test":"node --test"},"_npmUser":{"name":"frasntoro","email":"frasntoro@gmail.com"},"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"_npmVersion":"11.8.0","description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, custom protocols and a screensaver.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarek-system-inc_2.2.2_1789765067185_0.997247282770247","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"jarek-system-inc","version":"2.3.0","keywords":["cli","terminal","cleanup","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"author":{"name":"frasntoro"},"license":"SEE LICENSE IN LICENSE","_id":"jarek-system-inc@2.3.0","maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"homepage":"https://github.com/frasntoro/jarek-system-inc#readme","bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"os":["darwin","linux","win32"],"bin":{"jarek":"bin/jarek.js"},"dist":{"shasum":"b6308a64b15cfe099a6aac6cc4897e11d85fbc84","tarball":"https://registry.npmjs.org/jarek-system-inc/-/jarek-system-inc-2.3.0.tgz","fileCount":59,"integrity":"sha512-Ur+TVstt44sLrHsY/iSMHo9yoSw/GiAtygjBGP6FdYU6PVfRsdo3alUFs5UiUIvFFs9nA300c5L4qacq3B3GIw==","signatures":[{"sig":"MEUCIQDVOOsxt5WE4zq1sKAdHHZ0pdb4IdbEk7MOJzrs6inWcQIgG+xcQRDWM/iZHcyp/p1lp+m9ehpu/ie6fo7EGtn/ig0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCemVAmqzySBr1VrgU+QjgiRNlFZcRFddv1tpbh6hDFWgIhAIfgS8eqrQtt+7YOaBNo37ra0uDVX+kt+VRsVlctqo96","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5256696},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"2f8d4573dcb6236ee3458a9702963f9c6b552b32","scripts":{"demo":"sh media/render.sh","test":"node --test"},"_npmUser":{"name":"frasntoro","email":"frasntoro@gmail.com"},"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"_npmVersion":"11.8.0","description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, disk cleanup, custom protocols and a screensaver.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarek-system-inc_2.3.0_1790241207729_0.8846455057548741","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"os":["darwin","linux","win32"],"_id":"jarek-system-inc@2.4.0","bin":{"jarek":"bin/jarek.js"},"bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"dist":{"shasum":"cab41af8e99226f86ba0af8d0180a25ba9e78532","tarball":"https://registry.npmjs.org/jarek-system-inc/-/jarek-system-inc-2.4.0.tgz","fileCount":59,"integrity":"sha512-8W0wiFuqjGFP42J69xqO0O3jGg2VeJ03kPay3YaxmCYSiTZkZp60kClfzv3Q3y4ceLHhtBZc+QBJk147kPhO5g==","signatures":[{"sig":"MEUCIQCWAeXQtMfKva6a10t0Iy67D+XxPT5LS4iRMlAWjyDh7AIgf3xVN2o0bpJ13xz2GRdL4ElCLGbsEGZPy3zw3mJy6OI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDV+cgaCXNU/iz1H/RO6ZvrU/+auZtDpkRbdWAr14S1xAIhAP6pMtWEsvuw4VzVlh41gJ63GuEH85j/Y1DYblpRwC/d"}],"unpackedSize":5257262},"name":"jarek-system-inc","type":"module","author":{"name":"frasntoro"},"engines":{"node":">=20.0.0"},"gitHead":"9b32bbb93672772d0dedc2ea8866d731c31fbd4a","license":"SEE LICENSE IN LICENSE","scripts":{"demo":"sh media/render.sh","test":"node --test"},"version":"2.4.0","_npmUser":{"name":"frasntoro","email":"frasntoro@gmail.com"},"homepage":"https://github.com/frasntoro/jarek-system-inc#readme","keywords":["cli","terminal","cleanup","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"_npmVersion":"11.8.0","description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, disk cleanup, custom protocols and a screensaver.","directories":{},"maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jarek-system-inc_2.4.0_1790281132760_0.6475569403265262"}}},"time":{"created":"2026-03-13T20:53:10.368Z","modified":"2026-09-24T20:18:53.070Z","1.0.0":"2026-03-13T20:53:10.629Z","1.1.0":"2026-03-14T00:12:07.377Z","1.1.1":"2026-03-14T01:00:57.145Z","1.2.0":"2026-03-14T01:47:07.047Z","1.2.5":"2026-03-14T12:28:41.694Z","1.2.6":"2026-03-14T12:33:36.828Z","1.2.7":"2026-03-14T12:37:35.095Z","1.3.0":"2026-03-16T22:46:05.500Z","1.3.5":"2026-03-16T23:29:34.828Z","1.3.6":"2026-03-16T23:35:50.445Z","2.0.0":"2026-09-16T14:27:21.605Z","2.1.0":"2026-09-16T22:54:03.545Z","2.2.0":"2026-09-17T11:44:57.532Z","2.2.1":"2026-09-17T11:57:05.005Z","2.2.2":"2026-09-18T20:57:47.369Z","2.3.0":"2026-09-24T09:13:27.939Z","2.4.0":"2026-09-24T20:18:52.917Z"},"bugs":{"url":"https://github.com/frasntoro/jarek-system-inc/issues"},"author":{"name":"frasntoro"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/frasntoro/jarek-system-inc#readme","keywords":["cli","terminal","cleanup","ascii-art","boot-sequence","briefing","weather","news","assistant","fun"],"repository":{"url":"git+https://github.com/frasntoro/jarek-system-inc.git","type":"git"},"description":"A JARVIS-style companion for your terminal: a cinematic boot sequence with music and voice, a weather and news briefing, then focus timer, system scan, disk cleanup, custom protocols and a screensaver.","maintainers":[{"name":"frasntoro","email":"frasntoro@gmail.com"}],"readme":"# Jarek\n\n[![tests](https://github.com/frasntoro/jarek-system-inc/actions/workflows/test.yml/badge.svg)](https://github.com/frasntoro/jarek-system-inc/actions/workflows/test.yml)\n\nA JARVIS-style companion for your terminal.\n\nType `jarek`. The music kicks in, the logo lands on the first beat, Jarek\nwelcomes you back, and the systems come online one by one — in time with the\ntrack. When the music fades, he tells you what you need to know: the time, the\nweather where you are, the headlines of the hour. Then he stays on duty,\nwaiting for your orders.\n\n![Jarek: boot sequence, briefing, scan, focus, break and bye](media/jarek.gif)\n\n## Run it\n\nNo installation required:\n\n```bash\nnpx jarek-system-inc\n```\n\nOr keep it around:\n\n```bash\nnpm install -g jarek-system-inc\njarek\n```\n\nThe first time, Jarek asks three quick questions — how you would like to be\naddressed, which city to use for the weather, and whether you want his voice —\nand remembers the answers. `personalize` changes any of them later.\n\nPress any key during the boot sequence to skip ahead.\n\n## Commands\n\nAt the `jarek ❯` prompt, or straight from your shell without the intro\n(`jarek scan`, `jarek focus 50`):\n\n| Command | What it does |\n| --- | --- |\n| `focus [min]` | A focus session with a live progress bar. Jarek tells you when time is up, with a desktop notification too. `q` stops it. |\n| `scan` | System diagnostics: CPU, memory, disk, battery, network and uptime, with a verdict. Jarek speaks up only when something is wrong. |\n| `clean` | The space you cannot see: caches, leftovers and `node_modules`, reviewed one entry at a time. `clean --scan` only looks (see below). |\n| `break` | Screensaver: digital rain around the Jarek logo, in your colours. Any key returns you where you were. Also `relax` or `screensaver`. |\n| `weather [city]` | Weather now and tomorrow, for your city or any other. |\n| `news` | The headlines of the hour. |\n| `protocol [name]` | Runs one of your custom sequences; `protocol new` builds one (see below). |\n| `personalize` | One menu for everything: how Jarek addresses you, city, music, voice, colours, protocols. |\n| `theme [name]` | Changes Jarek's colours (see below). |\n| `bye` | The power-down sequence: Jarek says goodbye and sums up today's commits. |\n\n`help` shows the list again. Arrow keys recall previous commands and Tab\ncompletes them. Italian speakers can type `meteo`, `notizie`, `protocollo`,\n`personalizza` and `tema`.\n\n## Voice and music\n\nJarek speaks, in English, at a few chosen moments:\n\n- **The boot sequence** — he welcomes you back, then adds a line that fits the\n  hour: a cup of coffee in the morning, a short break in the afternoon, a good\n  evening or a good night. If it is raining, snowing, freezing or very hot\n  outside, he tells you that instead.\n- **The end of a `focus` session**, so you hear it even away from the screen.\n- **`scan`**, only when something is wrong, and only about the worst of it.\n- **`bye`**, as the systems power down.\n\nHe addresses you as you asked — sir or ma'am, or without a title if you chose\na name, which cannot be pre-recorded. Turn the voice off in `personalize`;\n`--no-sound` silences everything.\n\nThe startup music is **\"Jarek\" by Marco Sgaramella**. Between 9 pm and 7 am the\nmusic stays off and only the voice remains, so a late start stays quiet. The\nwindow can be moved, or switched off, in the configuration file, and\n`jarek --music` plays the music anyway:\n\n```json\n{ \"quietHours\": { \"from\": 22, \"to\": 8 } }\n```\n\nTo start with a track of your own, point `startupSound` at a file on your\nmachine; it is never part of the package. The boot sequence is timed for about\n18 seconds at 120 BPM.\n\n```json\n{ \"startupSound\": \"~/Music/my-intro.wav\" }\n```\n\n## Colours\n\nJarek draws the logo, the bars and the screensaver with a colour theme. The\ndefault is `instagram`, the violet-to-amber sweep Jarek has always had.\n\n```bash\ntheme                      # pick from the list, with a preview of each\ntheme arc                  # set a built-in theme\ntheme #ff0080 #7928ca      # or your own gradient: two or more hex colours\n```\n\nBuilt-in themes: `instagram`, `iron`, `arc`, `matrix`, `stranger`,\n`stranger85`, `vice`, `mono`. The same choice is item 4 of `personalize`.\n\n## Protocols\n\nA protocol is a list of actions you create once and run with one word —\nopening the apps and sites you start every day with, bringing up a project,\nstarting a server.\n\n**Create one with `protocol new`.** Jarek asks for a name, then one action at\na time, and shows a recap before saving:\n\n```\njarek ❯ protocol new\n  NEW PROTOCOL · run it with: protocol <name>\n  Name? (e.g. work) › browser\n\n  Action 1 · 1 app · 2 website · 3 folder or file · 4 command › 1\n  App? (e.g. Chrome) › chrome\n  ✓ Open Google Chrome\n\n  Action 2 · 1 app · 2 website · 3 folder or file · 4 command (Enter = done) › 2\n  Website? (e.g. youtube.com) › youtube.com\n  ✓ Open youtube.com\n\n  Action 3 · 1 app · 2 website · 3 folder or file · 4 command (Enter = done) ›\n\n  browser: Open Google Chrome → Open youtube.com\n  Save? (Y/n) ›\n  ✓ Saved. To run it: protocol browser\n  Try it now? (Y/n) ›\n```\n\n**Run it with `protocol browser`.** Each action reports `OK`, or `WARN` if it\ncould not be done.\n\n- Apps are looked up among those installed, so a partial name is enough.\n- Websites can be typed as you would in a browser: `youtube.com`, `localhost:3000`.\n- Commands run through your own shell, so your aliases and functions work as\n  they do in your terminal. Jarek asks whether a command should keep running in\n  the background, like a server.\n\n`protocol` lists your protocols with their actions. `protocol edit <name>`\nadds, removes or reorders actions and renames the protocol; changes are saved\nwhen you press Enter to finish, and Ctrl+C discards them.\n`protocol delete <name>` removes one. They are stored in the configuration\nfile, where they can also be edited by hand:\n\n```json\n{\n  \"protocols\": {\n    \"browser\": [\n      { \"label\": \"Open Google Chrome\", \"app\": \"Google Chrome\" },\n      { \"label\": \"Open github.com\", \"open\": \"https://github.com/\" },\n      { \"label\": \"Run: npm run dev\", \"run\": \"npm run dev\", \"wait\": false }\n    ]\n  }\n}\n```\n\n## Cleaning\n\n`clean` finds the space your Mac gives back without you losing anything: the\ncaches apps rebuild by themselves, the leftovers of tools you stopped using,\nthe `node_modules` of projects you have not touched in months. It shows a\nreport first, then asks about one entry at a time.\n\n```\njarek ❯ clean\n  JAREK · CLEAN\n\n  Caches that rebuild themselves                    2.2G\n       1.2G  Google Chrome  (open)\n       519M  VS Code · CachedExtensionVSIXs\n        42M  Homebrew\n\n  Projects: node_modules                            1.3G\n       437M  ~/Developer/first-project\n\n  Reclaimable: 3.6G  ·  of which safe: 2.2G\n\n  Go through them one by one? (y/N) › y\n\n  VS Code · CachedExtensionVSIXs  519M\n  ~/Library/Application Support/Code/CachedExtensionVSIXs\n  Clean it? (y/N · never) › y\n    ✓ Done\n```\n\n- `clean --scan` shows the report and touches nothing.\n- `clean --safe` clears the caches that rebuild themselves, without asking.\n- Answering `never` mutes an entry for good; `clean reset` brings them back.\n- An app that is open is skipped, with its name, rather than cleaned underneath it.\n\n**What is removed and what is recoverable.** Caches and leftovers are deleted:\nthey rebuild themselves, and the Trash would only hold on to the space they\nwere meant to give back. Everything else — the entries worth a thought, and\n`node_modules` — goes to the Trash, so a wrong answer costs a restore. That\nalso means the space appears only once you empty it.\n\n**Nothing outside your home folder is ever touched.** Every removal passes one\ncheck, which refuses anything outside `~`, any folder you keep your own things\nin (`~/Documents`, `~/Library`, `~/Developer` and the like), anything reached\nthrough a link, and any path containing `..`. An entry that cannot pass is\nreported, not cleaned, wherever it came from.\n\n**Add your own with `clean add`.** Jarek asks what to clean — a folder, or a\ncommand that cleans up after itself — and the rest is optional:\n\n```\njarek ❯ clean add\n  NEW CLEAN ENTRY\n  Name? (e.g. Figma) › Figma\n  A folder or a command? (1 folder · 2 command) › 1\n  Folder? (e.g. ~/Library/Caches/Figma) › ~/Library/Caches/Figma\n  It holds 412M right now.\n  Does it rebuild itself? (Y/n) › y\n  App to close first? (Enter = none) › Figma\n  A note for yourself? (Enter = none) ›\n  Save? (Y/n) ›\n  ✓ Saved: Figma\n```\n\n`clean list` shows everything Jarek knows, `clean edit` and `clean delete`\nchange or remove your own entries. They live in the configuration file:\n\n```json\n{\n  \"clean\": {\n    \"rules\": [\n      { \"id\": \"my-figma\", \"group\": \"safe\", \"label\": \"Figma\", \"path\": \"~/Library/Caches/Figma\", \"process\": \"Figma\" }\n    ],\n    \"skip\": [\"chrome\"],\n    \"projectPaths\": [\"~/Developer\", \"~/Documents\", \"~/Desktop\"]\n  }\n}\n```\n\n`group` is `safe` (deleted) or `review` (moved to the Trash), `path` is the\nfolder, `command` a command to run instead, `process` an app that must be\nclosed first. Cleaning is macOS and Linux only; on Linux the entries that are\nnot about macOS still apply.\n\n## Configuration\n\nJarek keeps its settings in `~/.config/jarek/config.json` (on Windows,\n`%APPDATA%\\jarek\\config.json`). Everything in it can be changed from\n`personalize`, so there is no need to edit it by hand.\n\n## Options\n\nOptions go before the command.\n\n| Option | What it does |\n| --- | --- |\n| `--city <name>` | Brief on a specific city for this run |\n| `--units <metric\\|imperial>` | Temperature units (default: from your country) |\n| `--lang <code>` | Force the language (`en`, `it`) |\n| `--music` | Play the music even during the quiet hours |\n| `--no-sound` | Run without music or voice |\n| `--no-net` | Skip weather and news, stay entirely local |\n| `--fast` | Skip the sequence, go straight to the briefing |\n| `--no-repl` | Exit after the briefing instead of waiting for commands |\n| `--no-color` | Disable colour output |\n| `-v`, `--version` | Print the version |\n| `-h`, `--help` | Print the help |\n\n## Language\n\nJarek speaks the language of the machine he runs on. On macOS that means the\nsystem language, which outranks `LANG`: terminal emulators tend to set that\nvariable to `C.UTF-8` or `en_US.UTF-8` whatever language the Mac is actually\nconfigured in. On other systems `LANG` decides.\n\n`LC_ALL`, `LC_MESSAGES` and `--lang` override all of it — those are only ever\nset on purpose.\n\nEnglish and Italian ship today. Anything else falls back to English completely,\ndates and place names included.\n\n## Requirements\n\n- Node.js 20 or newer\n- macOS, Linux or Windows\n\nSound uses whatever the system already has — `afplay` on macOS, `paplay`,\n`aplay`, `ffplay` or `mpv` on Linux, PowerShell on Windows. If none is\navailable everything still runs, silently and on the same timing. Desktop\nnotifications use `osascript` on macOS and `notify-send` on Linux.\n\nJarek has **no runtime dependencies**. `npx jarek-system-inc` downloads one\npackage and starts.\n\n## Network and privacy\n\nJarek contacts the network only for these:\n\n- **Location** — [ipapi.co](https://ipapi.co) or [ipwho.is](https://ipwho.is),\n  which derive an approximate city from your public IP address. Skipped when\n  you set a city.\n- **Weather** — [Open-Meteo](https://open-meteo.com), keyless.\n- **Headlines** — [Euronews](https://www.euronews.com) when Jarek speaks\n  Italian, for European coverage; the Google News United States edition when he\n  speaks English.\n- **Network check in `scan`** — a single request to Google's or Cloudflare's\n  connectivity endpoint, to measure latency.\n\n`bye` reads your local git repositories to count today's commits; nothing\nleaves your machine. No account is needed and nothing is sent anywhere else.\n`--no-net` runs the intro and briefing with no network at all.\n\n## Development\n\n```bash\nnpm test          # the test suite: Node's built-in runner, no dependencies\nnpm run demo      # re-record media/jarek.gif (needs vhs: brew install vhs)\n```\n\nTests run on macOS, Linux and Windows, with Node 20 and 22, on every push.\n\n## Credits\n\nMusic \"Jarek\" by Marco Sgaramella, used with his permission. Voice generated\nwith Kokoro-82M (Apache License 2.0). Logo in the FIGlet font \"Slant\". See\n[CREDITS.md](CREDITS.md).\n\n## Licence\n\nJarek is **proprietary software**. Copyright © 2026 frasntoro, all rights\nreserved. You may download and run it for personal, non-commercial use; you may\nnot redistribute, modify or reuse it or its assets. The music and the voice\nengine belong to their authors and are used with permission or under their own\nlicences. See [LICENSE](LICENSE) for the full terms.\n\n## Author\n\nMade by **frasntoro**.\n","readmeFilename":"README.md"}