{"_id":"@bruggmann._/ccli","_rev":"4-59c1058f26b872792da5a470ddbf1a9c","name":"@bruggmann._/ccli","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@bruggmann._/ccli","version":"1.0.0","keywords":["cli","chat","websocket","typescript"],"author":"","license":"MIT","_id":"@bruggmann._/ccli@1.0.0","maintainers":[{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"}],"bin":{"ccli":"dist/packages/client/src/index.js"},"dist":{"shasum":"6c51eb72c14824dccd080509b2b4b16160335735","tarball":"https://registry.npmjs.org/@bruggmann._/ccli/-/ccli-1.0.0.tgz","fileCount":16,"integrity":"sha512-B0hCtYQqobkLDTq2eTv+LArNcC2E0ACLL1KHnDJHyjf/WncUoH4coVQGIDDgkI/sQBM+XJIANMZIYuZr6MuyTg==","signatures":[{"sig":"MEUCIQC1t8W8bpUOnf6xDjRUnPajRzEKaH66Mx0eEaZTqTxJAwIgGTqmL8LMuP3zzKSznOGf8NUIxgVWoP/5r2U2XcSRPRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35559},"main":"dist/packages/client/src/index.js","gitHead":"19d35de18dd95e045721f3e8a37fdbd30716c862","private":false,"scripts":{"build":"tsc --project tsconfig.build.json && tsc-alias --project tsconfig.build.json","start":"node dist/packages/server/src/index.js","client":"ts-node -r tsconfig-paths/register --project packages/client/tsconfig.json packages/client/src/index.ts","server":"nodemon --watch packages/server --exec \"ts-node -r tsconfig-paths/register --project tsconfig.json\" packages/server/src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"},"_npmVersion":"11.6.2","description":"Chat Command Line Interface using WebSockets (TypeScript)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.19.0","zod":"^4.3.6","dotenv":"^17.2.4","undici-types":"^7.19.1","@inquirer/prompts":"^8.2.0"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.10","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ccli_1.0.0_1770667385078_0.7093712370523553","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bruggmann._/ccli","version":"1.0.1","keywords":["cli","chat","websocket","typescript"],"author":"","license":"MIT","_id":"@bruggmann._/ccli@1.0.1","maintainers":[{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"}],"bin":{"ccli":"dist/packages/client/src/index.js"},"dist":{"shasum":"2f791a1bbb5bb78242707580c387d753611823ff","tarball":"https://registry.npmjs.org/@bruggmann._/ccli/-/ccli-1.0.1.tgz","fileCount":16,"integrity":"sha512-x/8jkPggDekz05Gg6KV/Ab2YzBOYfRjKYzT3bMpdxIM5+mK8utfTWBxBqpkg+yb8iduPleJGkVY9tiXEYWao4A==","signatures":[{"sig":"MEUCIDtPXJP8BpNnIdn6QsCvW397jaOavS4kBe8zDI+MXk1nAiEA4hI1MOyZTTlZzqTUO/r5lrE1j/fisbHnLuBfx2YSwok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35887},"main":"dist/packages/client/src/index.js","gitHead":"f524efcd714d9025f8eed060e1fb9355c26cf739","private":false,"scripts":{"build":"tsc --project tsconfig.build.json && tsc-alias --project tsconfig.build.json","start":"node dist/packages/server/src/index.js","client":"ts-node -r tsconfig-paths/register --project packages/client/tsconfig.json packages/client/src/index.ts","server":"nodemon --watch packages/server --exec \"ts-node -r tsconfig-paths/register --project tsconfig.json\" packages/server/src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"},"_npmVersion":"11.6.2","description":"Chat Command Line Interface using WebSockets (TypeScript)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.19.0","zod":"^4.3.6","dotenv":"^17.2.4","undici-types":"^7.19.1","@inquirer/prompts":"^8.2.0"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.10","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ccli_1.0.1_1771523086892_0.7127969713882008","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bruggmann._/ccli","version":"1.0.2","keywords":["cli","chat","websocket","typescript"],"author":"","license":"MIT","_id":"@bruggmann._/ccli@1.0.2","maintainers":[{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"}],"bin":{"ccli":"dist/packages/client/src/index.js"},"dist":{"shasum":"1ee7933e9af135d7ce0dc1f2b93214775331a314","tarball":"https://registry.npmjs.org/@bruggmann._/ccli/-/ccli-1.0.2.tgz","fileCount":16,"integrity":"sha512-ja6MCj5NwOe9wCGIthI1+Mjpuh+evccHQaQs4mXaqRT8pQCQGBIHI6dV/8ODjCcA3n3f+ImR2h0vbAAPgqJkrQ==","signatures":[{"sig":"MEYCIQDe1dh0btRf/x5NlIV72Yh2zcwn7OuXVzZTObDLoioItAIhAMG/RJEI/Iue8V/DE+MZPLCk5wNRkMv0Msxo0qo/7Wk0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36820},"main":"dist/packages/client/src/index.js","gitHead":"bbfd15bd3ae81c882b95aceba7bd7821aaebec6b","private":false,"scripts":{"build":"tsc --project tsconfig.build.json && tsc-alias --project tsconfig.build.json","start":"node dist/packages/server/src/index.js","client":"ts-node -r tsconfig-paths/register --project packages/client/tsconfig.json packages/client/src/index.ts","server":"nodemon --watch packages/server --exec \"ts-node -r tsconfig-paths/register --project tsconfig.json\" packages/server/src/index.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"},"_npmVersion":"11.6.2","description":"Chat Command Line Interface using WebSockets (TypeScript)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.19.0","zod":"^4.3.6","dotenv":"^17.2.4","undici-types":"^7.19.1","@inquirer/prompts":"^8.2.0"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^3.1.11","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.0.10","tsconfig-paths":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ccli_1.0.2_1771732599774_0.6104470253645757","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bruggmann._/ccli","private":false,"version":"1.1.0","description":"Chat Command Line Interface using WebSockets (TypeScript)","bin":{"ccli":"dist/packages/client/src/index.js"},"main":"dist/packages/client/src/index.js","scripts":{"prepublishOnly":"npm run build","build":"tsc --project tsconfig.build.json && tsc-alias --project tsconfig.build.json","start":"node dist/packages/server/src/index.js","server":"nodemon --watch packages/server --exec \"ts-node -r tsconfig-paths/register --project tsconfig.json\" packages/server/src/index.ts","client":"ts-node -r tsconfig-paths/register --project packages/client/tsconfig.json packages/client/src/index.ts"},"keywords":["cli","chat","websocket","typescript"],"author":"","license":"MIT","dependencies":{"@inquirer/prompts":"^8.2.0","dotenv":"^17.2.4","undici-types":"^7.19.1","ws":"^8.19.0","zod":"^4.3.6"},"devDependencies":{"@types/node":"^25.0.10","@types/ws":"^8.18.1","nodemon":"^3.1.11","ts-node":"^10.9.2","tsc-alias":"^1.8.16","tsconfig-paths":"^4.2.0","typescript":"^5.9.3"},"gitHead":"41f927b9d52e3454eafda584b97e8765c66791e4","_id":"@bruggmann._/ccli@1.1.0","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-umw+L9VX8GJcAxg6K5jtQwgPbW7G1onJk0IrCZki9Oj9Zs5KvzRwxGysVm+cLbOtp5wmpuCDQBZnEF52LsYZhg==","shasum":"be071c65736b355676ee6aea63b22f8415e655e9","tarball":"https://registry.npmjs.org/@bruggmann._/ccli/-/ccli-1.1.0.tgz","fileCount":16,"unpackedSize":38704,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/NlH6uDehHTYV83LpsLvEg8iBMlFczPoUjFl+tcw+4wIgKa57i0N5qyVKv5oDJMxaTVJYAqTqWNHqdw05dK4Vej0="}]},"_npmUser":{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"},"directories":{},"maintainers":[{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ccli_1.1.0_1771901345619_0.7969002671627856"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-09T20:03:04.941Z","modified":"2026-02-24T02:49:05.863Z","1.0.0":"2026-02-09T20:03:05.221Z","1.0.1":"2026-02-19T17:44:47.031Z","1.0.2":"2026-02-22T03:56:39.949Z","1.1.0":"2026-02-24T02:49:05.771Z"},"license":"MIT","keywords":["cli","chat","websocket","typescript"],"description":"Chat Command Line Interface using WebSockets (TypeScript)","maintainers":[{"name":"bruggmann._","email":"du.dudu.edu.5.ea@gmail.com"}],"readme":"# ccli — Chat Command Line Interface\r\n\r\nA terminal-based real-time chat built with TypeScript and WebSockets.\r\n\r\n## Quick Start (via npm)\r\n\r\nInstall and run the client directly from your terminal:\r\n\r\n```bash\r\nnpm install -g \"@bruggmann._/ccli\"\r\nccli\r\n```\r\n\r\nOr run without installing:\r\n\r\n```bash\r\nnpx \"@bruggmann._/ccli\"\r\n```\r\n\r\n> **Note:** On PowerShell, wrap the package name in quotes as shown above.\r\n\r\n## Features\r\n\r\n- Real-time messaging via WebSockets\r\n- Multiple channels with persistent message history\r\n- Live nickname changes\r\n- Interactive menu with ASCII art\r\n- Input validation with Zod\r\n\r\n## Project Structure\r\n\r\n```\r\npackages/\r\n  shared/   → Schemas, types, and utilities shared between client and server\r\n  server/   → WebSocket server (state management, command handling)\r\n  client/   → Terminal client (UI, menus, chat prompt)\r\n```\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n- Node.js\r\n- pnpm (or npm, yarn, etc.)\r\n\r\n### Install\r\n\r\n```bash\r\npnpm install\r\n```\r\n\r\n### Run\r\n\r\nStart the server:\r\n\r\n```bash\r\npnpm server\r\n```\r\n\r\nIn another terminal, start one or more clients:\r\n\r\n```bash\r\npnpm client\r\n```\r\n\r\n## Chat Commands\r\n\r\n| Command            | Description                                      |\r\n| ------------------ | ------------------------------------------------ |\r\n| `/home`            | Leave the current channel and return to the menu |\r\n| `/join <channel>`  | Join another channel (creates it if needed)      |\r\n| `/nick <nickname>` | Change your nickname                             |\r\n| `/exit`            | Exit the program                                 |\r\n\r\n## Tech Stack\r\n\r\n- **TypeScript** — Language\r\n- **ws** — WebSocket server and client\r\n- **Zod** — Schema validation\r\n- **@inquirer/prompts** — Interactive terminal prompts\r\n- **nodemon** — Dev server auto-restart\r\n","readmeFilename":"README.md"}