{"_id":"streamvault","_rev":"5-dfde5bd9268e496ef2a58ffe0ce8e850","name":"streamvault","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.1":{"name":"streamvault","version":"1.0.1","keywords":["debug","debugger","herokubunyan","log","logfmt","logger","logging","winston"],"author":{"url":"https://aokisasakidev.com","name":"Kiko Beats","email":"josefrancisco.verdu@gmail.com"},"license":"MIT","_id":"streamvault@1.0.1","maintainers":[{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"}],"contributors":[],"homepage":"https://github.com/aokisasakidev/streamvault","bugs":{"url":"https://github.com/aokisasakidev/streamvault/issues"},"dist":{"shasum":"f9925529a849e7d5c80a3ea83e4897ef4a4e83eb","tarball":"https://registry.npmjs.org/streamvault/-/streamvault-1.0.1.tgz","fileCount":8,"integrity":"sha512-H+LTlj25B8edIxD7CIkyxO2fuRKQqnHBuWn9tMKbOsurgrmZkPvqnw9UIzDJdidyrWQjmmOd2sQaZOVKCIl8Rg==","signatures":[{"sig":"MEUCIQCBb7WrWQtAtbyV4Hg9wQybGY9pYObehslYGPA+xcTRdAIgZHkNw7EA5FPz0pZu3npyHoHeqbR8Lr5qT9EqWZtr0l8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17465},"main":"src/index.js","types":"./src/index.d.ts","engines":{"node":">= 8"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./encode":{"types":"./src/encode.d.ts","default":"./src/encode.js"}},"scripts":{"lint":"standard","test":"c8 ava","clean":"rm -rf node_modules","pretty":"prettier --write index.js {core,test,bin,scripts}/**/*.js","prepare":"npm run security:validate","pretest":"npm run lint","release":"standard-version -a","coverage":"nyc report --reporter=text-lcov | coveralls","postrelease":"npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)","contributors":"(npx git-authors-cli && npx finepack && git add package.json && git commit -m 'build: contributors' --no-verify) || true","release:tags":"git push --follow-tags origin HEAD:master","security:fix":"npm audit fix","security:snyk":"snyk test","prepublishOnly":"echo '⚠️  Running security audit before publish...' && npm run security:audit || echo '⚠️  Security vulnerabilities detected - consider running npm run security:fix'","release:github":"github-generate-release","security:audit":"npm audit --audit-level=moderate","security:check":"npm run security:audit && npm run security:snyk","security:validate":"node scripts/security-check.js"},"_npmUser":{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"},"overrides":{"ms":"^2.1.3","qs":"^6.14.1","ajv":"^8.12.0","got":"^13.0.0","tmp":"^0.2.3","hawk":"^9.0.1","hoek":"^10.0.1","ssri":"^10.0.5","axios":"^1.6.0","debug":"^4.3.4","json5":"^2.2.3","lodash":"^4.17.21","moment":"^2.30.1","semver":"^7.6.0","postcss":"^8.4.35","dot-prop":"^8.0.2","minimist":"^1.2.8","form-data":"^4.0.0","minimatch":"^9.0.3","word-wrap":"^1.2.5","micromatch":"^4.0.8","underscore":"^1.13.6","cross-spawn":"^7.0.3","tough-cookie":"^4.1.3","trim-newlines":"^5.0.0","follow-redirects":"^1.15.6","https-proxy-agent":"^7.0.2"},"commitlint":{"rules":{"body-max-line-length":[0]},"extends":["@commitlint/config-conventional"]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/aokisasakidev/streamvault.git","type":"git"},"_npmVersion":"11.6.2","description":"debug module using logfmt format","directories":{},"nano-staged":{"*.js":["prettier --write","standard --fix"],"*.md":["standard-markdown"],"package.json":["finepack"]},"_nodeVersion":"25.2.1","dependencies":{"pretty-ms":"~7.0.1","byteboxlab":"^1.0.1","@kikobeats/time-span":"~1.0.5","null-prototype-object":"~1.2.2"},"eslintIgnore":["*.d.ts"],"_hasShrinkwrap":false,"devDependencies":{"c8":"latest","ava":"latest","finepack":"latest","prettier":"^3.2.5","standard":"latest","tinyspawn":"latest","strip-ansi":"6","nano-staged":"latest","@commitlint/cli":"latest","git-authors-cli":"latest","simple-git-hooks":"latest","standard-version":"latest","standard-markdown":"latest","@commitlint/config-conventional":"latest"},"simple-git-hooks":{"commit-msg":"npx commitlint --edit","pre-commit":"npx nano-staged"},"_npmOperationalInternal":{"tmp":"tmp/streamvault_1.0.1_1776239611971_0.6466919121615966","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"streamvault","version":"1.0.2","keywords":["debug","debugger","herokubunyan","log","logfmt","logger","logging","winston"],"author":{"url":"https://aokisasakidev.com","name":"Kiko Beats","email":"josefrancisco.verdu@gmail.com"},"license":"MIT","_id":"streamvault@1.0.2","maintainers":[{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"}],"contributors":[],"homepage":"https://github.com/aokisasakidev/streamvault","bugs":{"url":"https://github.com/aokisasakidev/streamvault/issues"},"dist":{"shasum":"e83b21e539096ecc0cf140376df2b03b9540f069","tarball":"https://registry.npmjs.org/streamvault/-/streamvault-1.0.2.tgz","fileCount":8,"integrity":"sha512-rCbZBDTUHwJS7xFSxhEPm8ianmS+uLaqHarhfO7nlSTd9RYpdLRPA2rDifEPX9fM2yyWyWmyAwaagpZK2RsQ7g==","signatures":[{"sig":"MEYCIQD6Kq/xUbJsUfFRCOYSAfADE3A1FeW6/F722iSi+zlz6gIhAJVZbUROnSoH2HezajiwmB0ZgZ/e6Jptx6FsftSoAvhn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17498},"main":"src/index.js","types":"./src/index.d.ts","engines":{"node":">= 8"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./encode":{"types":"./src/encode.d.ts","default":"./src/encode.js"}},"scripts":{"lint":"standard","test":"c8 ava","clean":"rm -rf node_modules","pretty":"prettier --write index.js {core,test,bin,scripts}/**/*.js","prepare":"npm run security:validate","pretest":"npm run lint","release":"standard-version -a","coverage":"nyc report --reporter=text-lcov | coveralls","postrelease":"npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)","contributors":"(npx git-authors-cli && npx finepack && git add package.json && git commit -m 'build: contributors' --no-verify) || true","release:tags":"git push --follow-tags origin HEAD:master","security:fix":"npm audit fix","security:snyk":"snyk test","prepublishOnly":"echo '⚠️  Running security audit before publish...' && npm run security:audit || echo '⚠️  Security vulnerabilities detected - consider running npm run security:fix'","release:github":"github-generate-release","security:audit":"npm audit --audit-level=moderate","security:check":"npm run security:audit && npm run security:snyk","security:validate":"node scripts/security-check.js"},"_npmUser":{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"},"overrides":{"ms":"^2.1.3","qs":"^6.14.1","ajv":"^8.12.0","got":"^13.0.0","tmp":"^0.2.3","hawk":"^9.0.1","hoek":"^10.0.1","ssri":"^10.0.5","axios":"^1.6.0","debug":"^4.3.4","json5":"^2.2.3","lodash":"^4.17.21","moment":"^2.30.1","semver":"^7.6.0","postcss":"^8.4.35","dot-prop":"^8.0.2","minimist":"^1.2.8","form-data":"^4.0.0","minimatch":"^9.0.3","word-wrap":"^1.2.5","micromatch":"^4.0.8","underscore":"^1.13.6","cross-spawn":"^7.0.3","tough-cookie":"^4.1.3","trim-newlines":"^5.0.0","follow-redirects":"^1.15.6","https-proxy-agent":"^7.0.2"},"commitlint":{"rules":{"body-max-line-length":[0]},"extends":["@commitlint/config-conventional"]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/aokisasakidev/streamvault.git","type":"git"},"_npmVersion":"11.6.2","description":"debug module using logfmt format","directories":{},"nano-staged":{"*.js":["prettier --write","standard --fix"],"*.md":["standard-markdown"],"package.json":["finepack"]},"_nodeVersion":"25.2.1","dependencies":{"pretty-ms":"~7.0.1","byteboxlab":"^1.0.1","@kikobeats/time-span":"~1.0.5","null-prototype-object":"~1.2.2"},"eslintIgnore":["*.d.ts"],"_hasShrinkwrap":false,"devDependencies":{"c8":"latest","ava":"latest","finepack":"latest","prettier":"^3.2.5","standard":"latest","tinyspawn":"latest","strip-ansi":"6","nano-staged":"latest","@commitlint/cli":"latest","git-authors-cli":"latest","simple-git-hooks":"latest","standard-version":"latest","standard-markdown":"latest","@commitlint/config-conventional":"latest"},"simple-git-hooks":{"commit-msg":"npx commitlint --edit","pre-commit":"npx nano-staged"},"_npmOperationalInternal":{"tmp":"tmp/streamvault_1.0.2_1776270195681_0.9862908871745437","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"streamvault","version":"1.0.3","keywords":["debug","debugger","herokubunyan","log","logfmt","logger","logging","winston"],"author":{"url":"https://aokisasakidev.com","name":"Kiko Beats","email":"josefrancisco.verdu@gmail.com"},"license":"MIT","_id":"streamvault@1.0.3","maintainers":[{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"}],"contributors":[],"homepage":"https://github.com/aokisasakidev/streamvault","bugs":{"url":"https://github.com/aokisasakidev/streamvault/issues"},"dist":{"shasum":"21863a7f7c0eae6751651896ab0b928b80a599b8","tarball":"https://registry.npmjs.org/streamvault/-/streamvault-1.0.3.tgz","fileCount":8,"integrity":"sha512-7GTVaz1VB/OayU3IqhF2UloepZQVyJO9uVvswyw60I7ZtdYjsbwl5LALRxgzjDLN0x389voZygJKBPzUVkvtSw==","signatures":[{"sig":"MEQCIFT0wd2jDzsPUAq0EiZueb4rgWphBEFftTFi4ku8TvyIAiBOEgtS8ca4UR3AP3rrakfKRuJGc01MIHrZsC2pdsUrlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17498},"main":"src/index.js","types":"./src/index.d.ts","engines":{"node":">= 8"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./encode":{"types":"./src/encode.d.ts","default":"./src/encode.js"}},"scripts":{"lint":"standard","test":"c8 ava","clean":"rm -rf node_modules","pretty":"prettier --write index.js {core,test,bin,scripts}/**/*.js","prepare":"npm run security:validate","pretest":"npm run lint","release":"standard-version -a","coverage":"nyc report --reporter=text-lcov | coveralls","postrelease":"npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)","contributors":"(npx git-authors-cli && npx finepack && git add package.json && git commit -m 'build: contributors' --no-verify) || true","release:tags":"git push --follow-tags origin HEAD:master","security:fix":"npm audit fix","security:snyk":"snyk test","prepublishOnly":"echo '⚠️  Running security audit before publish...' && npm run security:audit || echo '⚠️  Security vulnerabilities detected - consider running npm run security:fix'","release:github":"github-generate-release","security:audit":"npm audit --audit-level=moderate","security:check":"npm run security:audit && npm run security:snyk","security:validate":"node scripts/security-check.js"},"_npmUser":{"name":"ashleytaylordev","email":"ashleytaylortech@outlook.com"},"overrides":{"ms":"^2.1.3","qs":"^6.14.1","ajv":"^8.12.0","got":"^13.0.0","tmp":"^0.2.3","hawk":"^9.0.1","hoek":"^10.0.1","ssri":"^10.0.5","axios":"^1.6.0","debug":"^4.3.4","json5":"^2.2.3","lodash":"^4.17.21","moment":"^2.30.1","semver":"^7.6.0","postcss":"^8.4.35","dot-prop":"^8.0.2","minimist":"^1.2.8","form-data":"^4.0.0","minimatch":"^9.0.3","word-wrap":"^1.2.5","micromatch":"^4.0.8","underscore":"^1.13.6","cross-spawn":"^7.0.3","tough-cookie":"^4.1.3","trim-newlines":"^5.0.0","follow-redirects":"^1.15.6","https-proxy-agent":"^7.0.2"},"commitlint":{"rules":{"body-max-line-length":[0]},"extends":["@commitlint/config-conventional"]},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/aokisasakidev/streamvault.git","type":"git"},"_npmVersion":"11.6.2","description":"debug module using logfmt format","directories":{},"nano-staged":{"*.js":["prettier --write","standard --fix"],"*.md":["standard-markdown"],"package.json":["finepack"]},"_nodeVersion":"25.2.1","dependencies":{"pretty-ms":"~7.0.1","byteboxlab":"^1.0.1","@kikobeats/time-span":"~1.0.5","null-prototype-object":"~1.2.2"},"eslintIgnore":["*.d.ts"],"_hasShrinkwrap":false,"devDependencies":{"c8":"latest","ava":"latest","finepack":"latest","prettier":"^3.2.5","standard":"latest","tinyspawn":"latest","strip-ansi":"6","nano-staged":"latest","@commitlint/cli":"latest","git-authors-cli":"latest","simple-git-hooks":"latest","standard-version":"latest","standard-markdown":"latest","@commitlint/config-conventional":"latest"},"simple-git-hooks":{"commit-msg":"npx commitlint --edit","pre-commit":"npx nano-staged"},"_npmOperationalInternal":{"tmp":"tmp/streamvault_1.0.3_1776271156071_0.1095596766634801","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-15T07:53:31.970Z","modified":"2026-04-15T22:32:12.340Z","1.0.1":"2026-04-15T07:53:32.092Z","1.0.2":"2026-04-15T16:23:15.982Z","1.0.3":"2026-04-15T16:39:16.243Z"},"bugs":{"url":"https://github.com/aokisasakidev/streamvault/issues"},"author":{"url":"https://aokisasakidev.com","name":"Kiko Beats","email":"josefrancisco.verdu@gmail.com"},"license":"MIT","homepage":"https://github.com/aokisasakidev/streamvault","keywords":["debug","debugger","herokubunyan","log","logfmt","logger","logging","winston"],"repository":{"url":"git+https://github.com/aokisasakidev/streamvault.git","type":"git"},"description":"debug module using logfmt format","contributors":[],"maintainers":[{"email":"support@npmjs.com","name":"npm-support"}],"readme":"# streamvault\r\n\r\n<div align=\"center\">\r\n\t<img width=\"800\" src=\"https://i.imgur.com/R0cd2Gj.png\" >\r\n</div>\r\n\r\n[![Security Status](https://img.shields.io/badge/security-secure-brightgreen)](./SECURITY.md)\r\n[![Vulnerabilities](https://img.shields.io/badge/vulnerabilities-0-brightgreen)](./SECURITY_IMPROVEMENTS.md)\r\n[![npm version](https://img.shields.io/npm/v/streamvault.svg)](https://www.npmjs.com/package/streamvault)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE.md)\r\n\r\n## Highlights\r\n\r\n- Based on the popular [`debug`](https://www.npmjs.com/package/debug) module.\r\n- Lazy level evaluation used logs levels.\r\n- Level support: `info`, `warn` & `error` based from [RFC 5424](https://datatracker.ietf.org/doc/html/rfc5424).\r\n- Message formatting Heroku [logfmt](https://brandur.org/logfmt) syntax.\r\n- Colorized output via [`DEBUG_COLORS`](https://github.com/debug-js/debug#environment-variables) by default.\r\n- [`debug.duration`](#measurement) for measurement.\r\n- **🔒 Enterprise-grade security**: Zero vulnerabilities with automated security validation.\r\n\r\n## Security\r\n\r\nstreamvault maintains the highest security standards:\r\n\r\n- ✅ **Zero known vulnerabilities** (npm audit clean)\r\n- ✅ **Automated security validation** (pre-publish security checks)\r\n- ✅ **Secure dependency management** (version overrides for vulnerable packages)\r\n- ✅ **Comprehensive security documentation** ([SECURITY.md](./SECURITY.md))\r\n\r\nRun security validation: `npm run security:validate`\r\n\r\n## Install\r\n\r\n```bash\r\n$ npm install streamvault --save\r\n```\r\n\r\n## Usage\r\n\r\n### Multiple levels\r\n\r\nGiven a code like this one:\r\n\r\n```js\r\nconst debug = require('streamvault')('metascraper')\r\n\r\ndebug('retry', { url: 'https://kikobeats.com' })\r\ndebug.info('done', { time: Date.now() })\r\ndebug.warn('token expired', { timestamp: Date.now() })\r\ndebug.error('whoops', { message: 'expected `number`, got `NaN`' })\r\n```\r\n\r\nYou can:\r\n- Allow all the levels: `DEBUG=streamvault*`\r\n- Discard specific levels: `DEBUG=\"*,-metascraper:info*\" node example.js`\r\n\r\n### Measurement\r\n\r\nSometimes you need to log the duration of a function:\r\n\r\n```js\r\nconst { setTimeout } = require('timers/promises')\r\n\r\nconst debug = require('streamvault')('metascraper')\r\n\r\nconst duration = debug.duration()\r\n\r\nsetTimeout(1001).then(() => duration.error('timeout!'))\r\nsetTimeout(1100).then(() => duration.info('success'))\r\n```\r\n\r\n### Custom Options\r\n\r\nYou can customize the logger behavior with options:\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  // Custom log levels\r\n  levels: ['info', 'warn', 'error', 'fatal'],\r\n  \r\n  // Disable colors\r\n  colors: false,\r\n  \r\n  // Custom duration format\r\n  durationFormat: (ms) => `${Math.round(ms)}ms`,\r\n  \r\n  // Custom prefix\r\n  prefix: (namespace) => `[${namespace}] `,\r\n  \r\n  // Custom encoding (e.g., for structured logging)\r\n  encode: (obj) => JSON.stringify(obj)\r\n})\r\n```\r\n\r\n#### Using Custom Encoding\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  encode: (obj) => {\r\n    // Convert object to your preferred format\r\n    return Object.entries(obj)\r\n      .map(([key, value]) => `${key}=\"${String(value)}\"`)\r\n      .join(' ')\r\n  }\r\n})\r\n\r\ndebug('user action', { userId: 123, action: 'login' })\r\n// Output: user action userId=\"123\" action=\"login\"\r\n```\r\n\r\n#### Custom Duration Format\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  durationFormat: (ms) => {\r\n    if (ms < 1000) return `${ms}ms`\r\n    if (ms < 60000) return `${(ms / 1000).toFixed(2)}s`\r\n    return `${(ms / 60000).toFixed(2)}m`\r\n  }\r\n})\r\n\r\nconst duration = debug.duration('operation')\r\n// After 1500ms: duration=1.50s\r\n```\r\n\r\n## API\r\n\r\n### debug(env, [options])\r\n\r\n#### env\r\n\r\n*Required*<br>\r\nType: `string`\r\n\r\nThe env variable name to use for enabling logging using `DEBUG`.\r\n\r\n#### options\r\n\r\nType: `object`<br>\r\nDefault: `{}`\r\n\r\nConfiguration options for the debug logger.\r\n\r\n##### levels\r\n\r\nType: `array`<br>\r\nDefault: `['info', 'warn', 'error']`\r\n\r\nThe log levels available. Each level will be accessible as a method on the debug instance (e.g., `debug.info()`, `debug.warn()`, `debug.error()`).\r\n\r\n##### encode\r\n\r\nType: `function`<br>\r\nDefault: The default logfmt encoder\r\n\r\nCustom encoding function for converting objects to logfmt format. The function receives an object and should return a logfmt-formatted string.\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  encode: (obj) => {\r\n    // Custom encoding logic\r\n    return Object.keys(obj).map(key => `${key}=${obj[key]}`).join(' ')\r\n  }\r\n})\r\n```\r\n\r\n##### colors\r\n\r\nType: `boolean`<br>\r\nDefault: `true` (unless `DEBUG_COLORS=false` in environment)\r\n\r\nEnable or disable colored output. When disabled, log messages will not include ANSI color codes.\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  colors: false\r\n})\r\n```\r\n\r\n##### durationFormat\r\n\r\nType: `function`<br>\r\nDefault: `pretty-ms` formatter\r\n\r\nCustom format function for duration formatting. The function receives a number (milliseconds) and should return a formatted string.\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  durationFormat: (ms) => {\r\n    return `${ms}ms`\r\n  }\r\n})\r\n```\r\n\r\n##### prefix\r\n\r\nType: `function`<br>\r\nDefault: The default prefix formatter\r\n\r\nCustom prefix function for formatting log messages. The function receives the namespace (string) and color code (number), and should return a formatted prefix string.\r\n\r\n```js\r\nconst debug = require('streamvault')('myapp', {\r\n  prefix: (namespace, color) => {\r\n    return `[${namespace}] `\r\n  }\r\n})\r\n```\r\n\r\n### debug.duration([...args])\r\n\r\nIt returns a function will print the duration in the next call.\r\n\r\n```js\r\nconst duration = debug.duration('query')\r\nconst result = await db.query(query)\r\nduration(result)\r\n```\r\n\r\n## Security\r\n\r\nstreamvault is committed to maintaining the highest security standards. We implement comprehensive security measures including:\r\n\r\n### Security Features\r\n- **Zero vulnerabilities**: Regular automated security audits ensure clean dependency tree\r\n- **Automated validation**: Pre-publish security checks prevent vulnerable releases\r\n- **Secure coding practices**: Source code scanning for security anti-patterns\r\n- **Dependency management**: Version overrides for vulnerable transitive dependencies\r\n\r\n### Security Commands\r\n```bash\r\n# Run comprehensive security validation\r\nnpm run security:validate\r\n\r\n# Audit all dependencies\r\nnpm run security:audit\r\n\r\n# Run all security checks (audit + validation)\r\nnpm run security:check\r\n```\r\n\r\n### Reporting Security Issues\r\nPlease review our [Security Policy](./SECURITY.md) for information on reporting vulnerabilities and our response procedures.\r\n\r\n## License\r\n\r\n**streamvault** © [Kiko Beats](https://kikobeats.com), released under the [MIT](https://github.com/Kikobeats/streamvault/blob/master/LICENSE.md) License.<br>\r\nAuthored and maintained by Kiko Beats with help from [contributors](https://github.com/Kikobeats/streamvault/contributors).\r\n\r\n> [kikobeats.com](https://kikobeats.com) · GitHub [Kiko Beats](https://github.com/Kikobeats) · X [@Kikobeats](https://x.com/Kikobeats)\r\n","readmeFilename":"README.md"}