{"id":49511,"library":"thinkncollab-shell","title":"ThinkNCollab Shell","description":"A real-time collaborative terminal shell (thinknsh) that integrates with the ThinkNCollab platform via WebSocket. Version 0.0.12, pre-1.0 beta. Allows users to join collaboration rooms, chat, manage tasks, share terminals, and receive live notifications — all from the CLI. Key differentiators: built for real-time team collaboration directly in the terminal, with persistent sessions, HMAC-SHA256 token auth, and a .tncproject auto-boot feature. Release cadence is irregular as the package is early-stage.","status":"active","version":"0.0.12","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","shell","terminal","websocket","collaboration","cli"],"install":[{"cmd":"npm install thinkncollab-shell","lang":"bash","label":"npm"},{"cmd":"yarn add thinkncollab-shell","lang":"bash","label":"yarn"},{"cmd":"pnpm add thinkncollab-shell","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"WebSocket client for real-time communication","package":"websocket","optional":false},{"reason":"Command-line interface framework","package":"commander","optional":false},{"reason":"Interactive prompts in the shell","package":"inquirer","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require will fail.","wrong":"const shell = require('thinkncollab-shell')","symbol":"shell","correct":"import shell from 'thinkncollab-shell'"},{"note":"Named export for programmatic usage.","symbol":"createShell","correct":"import { createShell } from 'thinkncollab-shell'"},{"note":"TypeScript types available for shell configuration.","symbol":"ShellOptions","correct":"import type { ShellOptions } from 'thinkncollab-shell'"}],"quickstart":{"code":"import { createShell } from 'thinkncollab-shell';\n\nconst shell = createShell({\n  server: process.env.THINKNCOLLAB_SERVER ?? 'https://thinkncollab.com',\n  apiUrl: process.env.THINKNCOLLAB_API_URL ?? 'https://thinkncollab.com',\n  wsUrl: process.env.THINKNCOLLAB_WS_URL ?? 'https://thinkncollab.com',\n  autoConnect: process.env.THINKNCOLLAB_AUTO_CONNECT === 'true',\n});\n\nshell.start().then(() => {\n  shell.runCommand('login');\n  shell.runCommand('join room-123');\n  shell.runCommand('say Hello team!');\n});","lang":"typescript","description":"Shows how to programmatically create and start a ThinkNCollab shell session, then execute commands."},"warnings":[{"fix":"Pin to a specific version and review changelog before upgrading.","message":"The package is pre-1.0 and may have breaking changes without major version bumps.","severity":"breaking","affected_versions":"<1.0"},{"fix":"Set THINKNCOLLAB_SERVER, THINKNCOLLAB_API_URL, and THINKNCOLLAB_WS_URL to your server.","message":"WebSocket connections may fail if environment variables are not set correctly; defaults assume thinkncollab.com.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use the CLI binary instead of importing for stability.","message":"The global binary 'thinknsh' is the recommended interface; programmatic API may change.","severity":"deprecated","affected_versions":">=0.0.1"}],"env_vars":null,"search_vec":"'-1.0':22 '0.0.12':20 'allow':24 'auth':63 'auto':68 'auto-boot':67 'beta':23 'boot':69 'built':45 'cadenc':72 'chat':30 'cli':42,87 'collabor':7,28,51,86 'differenti':44 'direct':52 'earli':80 'early-stag':79 'featur':70 'hmac':60 'hmac-sha256':59 'integr':12 'irregular':74 'javascript':82 'join':27 'key':43 'live':37 'manag':31 'notif':38 'packag':77 'persist':57 'platform':16 'pre':21 'real':5,48 'real-tim':4,47 'receiv':36 'releas':71 'room':29 'session':58 'sha256':61 'share':33 'shell':2,9,83 'stage':81 'task':32 'team':50 'termin':8,34,55,84 'thinkncollab':1,15 'thinknsh':10 'time':6,49 'tncproject':66 'token':62 'user':25 'version':19 'via':17 'websocket':18,85","created_at":"2026-06-07T17:02:08.801044+00:00","updated_at":"2026-06-07T17:02:08.801044+00:00","problems":[{"fix":"Set THINKNSH_NOTIFY_PORT to an available port or restart with a different port.","cause":"Notification window TCP port conflict","error":"Error: listen EADDRINUSE :::<port>"},{"fix":"Change to ESM import: import { createShell } from 'thinkncollab-shell'","cause":"Using CommonJS require() instead of ESM import","error":"TypeError: shell.start is not a function"},{"fix":"Re-run the 'login' command to refresh your session token.","cause":"Authentication token expired or invalid","error":"WebSocket connection closed with code 1006"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"thinkncollab-shell","openapi_spec":null,"status_page":null,"smithery":null,"categories":["communication","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}