{"id":21890092,"url":"https://github.com/ejfox/cybermaint-toolkit","last_synced_at":"2025-10-26T19:03:16.611Z","repository":{"id":246832436,"uuid":"822305172","full_name":"ejfox/cybermaint-toolkit","owner":"ejfox","description":"Reusable helpers for cyberpunk toolkit","archived":false,"fork":false,"pushed_at":"2024-09-19T22:30:17.000Z","size":11412,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-06T18:00:16.207Z","etag":null,"topics":["cli"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ejfox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-30T21:37:11.000Z","updated_at":"2024-09-19T22:30:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b1522de-f171-434e-8777-49fd8bc5c082","html_url":"https://github.com/ejfox/cybermaint-toolkit","commit_stats":null,"previous_names":["ejfox/cybermaint-toolkit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ejfox/cybermaint-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fcybermaint-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fcybermaint-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fcybermaint-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fcybermaint-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ejfox","download_url":"https://codeload.github.com/ejfox/cybermaint-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejfox%2Fcybermaint-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274935979,"owners_count":25376836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli"],"created_at":"2024-11-28T11:28:45.678Z","updated_at":"2025-10-26T19:03:11.579Z","avatar_url":"https://github.com/ejfox.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Cybermaint Toolkit\n\nA toolkit for creating cyberpunk-style tools with immersive features.\n\n## Using the Playground\n\nThe Cybermaint Toolkit comes with a playground where you can interactively test all the features. To use the playground:\n\n1. Make sure you have Node.js installed on your system.\n2. Navigate to the project directory in your terminal.\n3. Run the playground using the command:\n\n```bash\nnode playground.js\n```\n4. Once the playground starts, you can enter commands to test different features:\n- `type`: Demonstrates typing animation\n- `glitch`: Applies a glitch effect to the screen\n- `sound`: Plays a sound (ensure you have a sound file path configured)\n- `countdown`: Starts a 10-second countdown\n- `box`: Displays text in an ASCII box\n- `scroll`: Shows hacker-style scrolling text\n- `help`: Lists all available commands\n- `clear`: Clears the output screen\n- `exit`: Quits the playground\n\n5. Type your commands in the input box at the bottom of the screen and press Enter to execute.\n\n\n### Table of Contents\n\n*   [blessed][1]\n*   [animateTyping][2]\n    *   [Parameters][3]\n    *   [Examples][4]\n*   [glitchEffect][5]\n    *   [Parameters][6]\n    *   [Examples][7]\n*   [playSound][8]\n    *   [Parameters][9]\n    *   [Examples][10]\n*   [startCountdown][11]\n    *   [Parameters][12]\n    *   [Examples][13]\n*   [createAsciiBox][14]\n    *   [Parameters][15]\n    *   [Examples][16]\n*   [hackerScroll][17]\n    *   [Parameters][18]\n    *   [Examples][19]\n\n## blessed\n\nA toolkit for creating cyberpunk-style tools with immersive features.\n\n## animateTyping\n\nCreates a typing animation effect for text.\n\n### Parameters\n\n*   `text` **[string][20]** The text to animate.\n*   `element` **blessed.Widgets.BoxElement** The blessed element to render the text in.\n*   `callback` **[function][21]?** Optional callback to run after animation completes.\n*   `speed` **[number][22]** The speed of typing in milliseconds. (optional, default `50`)\n\n### Examples\n\n```javascript\nconst box = blessed.box({ width: '100%', height: '100%' });\nscreen.append(box);\nanimateTyping(\"Hello, Operator.\", box, () =\u003e console.log(\"Animation complete!\"));\n```\n\n## glitchEffect\n\nApplies a glitch effect to the screen content.\n\n### Parameters\n\n*   `screen` **blessed.screen** The blessed screen object.\n*   `duration` **[number][22]** Duration of the glitch effect in milliseconds. (optional, default `500`)\n\n### Examples\n\n```javascript\nconst screen = blessed.screen();\nglitchEffect(screen, 1000);\n```\n\n## playSound\n\nPlays a sound file using the system's default audio player.\n\n### Parameters\n\n*   `soundFile` **[string][20]** Path to the sound file.\n\n### Examples\n\n```javascript\nplaySound('path/to/cyberpunk_ambience.mp3');\n```\n\n## startCountdown\n\nCreates a countdown timer on the screen.\n\n### Parameters\n\n*   `screen` **blessed.screen** The blessed screen object.\n*   `seconds` **[number][22]** The number of seconds to count down from.\n*   `callback` **[function][21]** Function to call when countdown reaches zero.\n\n### Examples\n\n```javascript\nconst screen = blessed.screen();\nstartCountdown(screen, 60, () =\u003e console.log(\"Time's up!\"));\n```\n\nReturns **blessed.Widgets.BoxElement** The countdown box element.\n\n## createAsciiBox\n\nCreates a bordered box with ASCII-style borders.\n\n### Parameters\n\n*   `content` **[string][20]** The content to put inside the box.\n\n### Examples\n\n```javascript\nconsole.log(createAsciiBox(\"Welcome, Operator.\"));\n```\n\nReturns **[string][20]** The content wrapped in an ASCII border.\n\n## hackerScroll\n\nCreates a \"hacker-style\" scrolling effect for an array of strings.\n\n### Parameters\n\n*   `screen` **blessed.screen** The blessed screen object.\n*   `lines` **[Array][23]\u003c[string][20]\u003e** Array of strings to scroll.\n*   `speed` **[number][22]** Speed of scrolling in milliseconds. (optional, default `100`)\n\n### Examples\n\n```javascript\nconst screen = blessed.screen();\nconst hackerLines = [\"Accessing mainframe...\", \"Bypassing firewall...\", \"Download complete.\"];\nhackerScroll(screen, hackerLines);\n```\n\n[1]: #blessed\n\n[2]: #animatetyping\n\n[3]: #parameters\n\n[4]: #examples\n\n[5]: #glitcheffect\n\n[6]: #parameters-1\n\n[7]: #examples-1\n\n[8]: #playsound\n\n[9]: #parameters-2\n\n[10]: #examples-2\n\n[11]: #startcountdown\n\n[12]: #parameters-3\n\n[13]: #examples-3\n\n[14]: #createasciibox\n\n[15]: #parameters-4\n\n[16]: #examples-4\n\n[17]: #hackerscroll\n\n[18]: #parameters-5\n\n[19]: #examples-5\n\n[20]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String\n\n[21]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function\n\n[22]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number\n\n[23]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejfox%2Fcybermaint-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fejfox%2Fcybermaint-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejfox%2Fcybermaint-toolkit/lists"}