thinkncollab-shell Documentation v0.0.10
The official interactive shell CLI for ThinkNCollab. Manage rooms, push files, track notifications, and collaborate — all from your terminal.
Installation
Install thinkncollab-shell globally via npm. Requires Node.js 16.0 or higher.
npm install -g thinkncollab-shell
thinknsh --version # thinkncollab-shell v0.0.10
npm update -g thinkncollab-shell
thinknsh
Authentication
Authenticate once and your credentials are stored securely in a .tncrc file in your home directory.
thinknsh login # Prompts for email + password # Stores encrypted token in ~/.tncrc
thinknsh whoami # → logged in as: you@example.com
thinknsh logout
.tncrc file or commit it to version control. Regenerate your token via thinknsh token:refresh if compromised.Quick Start
Up and running in under a minute.
# 1. Install npm install -g thinkncollab-shell # 2. Authenticate thinknsh login # 3. List your rooms thinknsh rooms # 4. Join a room thinknsh rooms join <room-id> # 5. Push a file to the room thinknsh push ./myfile.js --room <room-id> # 6. Check notifications thinknsh notifications
Rooms
List, join, create, and manage collaboration rooms directly from the terminal.
thinknsh rooms
List all rooms you're a member of
thinknsh rooms join
Join an existing room by ID
thinknsh rooms create
Create a new collaboration room
thinknsh rooms info
View details of a specific room
| Command | Description |
|---|---|
| thinknsh rooms | List all rooms you belong to |
| thinknsh rooms join <id> | Join a room by its ID |
| thinknsh rooms create <name> | Create a new room |
| thinknsh rooms info <id> | View room details and members |
| thinknsh rooms leave <id> | Leave a room |
| thinknsh rooms members <id> | List members in a room |
thinknsh rooms # → room-01 backend-team (12 members) # → room-02 frontend-sprint (7 members) thinknsh rooms join room-01 # ✓ joined backend-team thinknsh rooms create "design-review" # ✓ created room: design-review (id: room-09)
Files & Push
Push files to rooms, view version history, and pull updates — similar to Git but built into ThinkNCollab's collaboration layer.
| Command | Options | Description |
|---|---|---|
| thinknsh push <file> | --room <id> | Push a file to a room |
| thinknsh push <dir> | --room <id> --all | Push entire directory |
| thinknsh pull <file> | --room <id> | Pull latest version from room |
| thinknsh files | --room <id> | List files in a room |
| thinknsh files history <file> | --room <id> | View version history of a file |
| thinknsh files diff <file> | --v1 --v2 | Diff two versions of a file |
# Push a single file thinknsh push ./src/index.js --room room-01 # ✓ pushed index.js → backend-team (v4) # Push all files in a directory thinknsh push ./src --room room-01 --all # ✓ pushed 6 files → backend-team # View version history thinknsh files history index.js --room room-01 # v1 2025-10-01 alice@team.com # v2 2025-10-04 bob@team.com # v3 2025-10-07 carol@team.com
.tncrc token on every push. Ensure you're logged in before pushing files.Notifications
View, watch, and manage your ThinkNCollab notifications from the terminal.
| Command | Description |
|---|---|
| thinknsh notifications | List all unread notifications |
| thinknsh notifications --all | Show all notifications (read + unread) |
| thinknsh notifications watch | Open live notification panel |
| thinknsh notifications mark-read | Mark all notifications as read |
| thinknsh notifications mark-read <id> | Mark a single notification as read |
| thinknsh notifications clear | Clear all read notifications |
thinknsh notifications # [unread] omkar pushed routes.js to backend-team # [unread] radhika commented on your file # [read] meeting scheduled: tomorrow 10am thinknsh notifications watch # → Watching for new notifications... (Ctrl+C to exit)
Workspace
Switch between workspaces, view team members, and manage workspace settings.
| Command | Description |
|---|---|
| thinknsh workspace | Show current active workspace |
| thinknsh workspace list | List all workspaces you belong to |
| thinknsh workspace switch <id> | Switch active workspace |
| thinknsh workspace members | List all members in current workspace |
| thinknsh workspace invite <email> | Invite a user to the workspace |
tncproject // v0.0.10+
Project-level configuration and linking. Bind your local project directory to a ThinkNCollab room — enabling auto-push, task sync, and GitHub integration context. tncproject detects whether a .tncproject config exists in your folder and picks the right connection flow automatically.
thinknsh tncproject init creates a .tncproject file in your project root that links the folder to a room permanently.When you run thinknsh inside a folder, it checks for .tncproject and takes the appropriate path:
.tncproject and connects automatically — no manual login needed each time.# One-time setup in your project folder thinknsh tncproject init # ✓ created .tncproject in current directory thinknsh tncproject link room-01 # ✓ linked to backend-team (room-01) # ✓ .tncproject updated # Every future session in this folder — auto connects thinknsh # ✓ project: my-app # ✓ linked room: backend-team (room-01) # ✓ connected — ready
| Command | Description |
|---|---|
| thinknsh tncproject init | Initialize project config in current directory |
| thinknsh tncproject link <room-id> | Link current project to a room |
| thinknsh tncproject status | Show linked room and project config |
| thinknsh tncproject unlink | Remove room link from project |
| thinknsh tncproject sync | Sync project metadata with linked room |
.tncproject is found in the current folder, the shell falls back to manual login + manual room connect. This is the default for new installs or one-off usage outside a linked project.# No .tncproject in this folder — shell prompts manually thinknsh # ✗ no .tncproject found in current directory # → falling back to manual mode # Step 1: login with your TNC credentials thinknsh login # ? email: you@example.com # ? password: •••••••• # ✓ logged in as you@example.com # Step 2: connect to a room manually thinknsh rooms # → room-01 backend-team (12 members) # → room-02 design-sprint (5 members) thinknsh rooms join room-01 # ✓ connected to backend-team — ready # Optional: set up tncproject now to avoid this next time thinknsh tncproject init thinknsh tncproject link room-01 # ✓ next time thinknsh will auto-connect
.tncproject to your .gitignore if it contains personal tokens, or use a shared project token for team repos.Tasks // coming soon
Task management commands are planned for an upcoming release. They already exist in the thinkncollab-cli (tnc-cli) package if you need them now.
thinknsh tasks, thinknsh task add, thinknsh task done. Available today via tnc-cli.| Command | Status | Description |
|---|---|---|
| thinknsh tasks | coming soon | List all tasks in current workspace |
| thinknsh task add <title> | coming soon | Create a new task |
| thinknsh task done <id> | coming soon | Mark a task as complete |
| thinknsh task assign <id> | coming soon | Assign a task to a team member |
Config
View and manage your local thinknsh configuration stored in ~/.tncrc.
| Command | Description |
|---|---|
| thinknsh config | Show current config |
| thinknsh config set <key> <value> | Set a config value |
| thinknsh config reset | Reset all config to defaults |
| thinknsh token:refresh | Refresh your auth token |
| thinknsh token:revoke | Revoke and delete your token |
Advanced Usage
Power-user patterns, scripting, and CI integration.
# Use env variables for CI pipelines TNC_EMAIL=ci@team.com TNC_TOKEN=your_token thinknsh login --ci thinknsh push ./dist --room room-01 --all
// package.json { "scripts": { "push:dev": "thinknsh push ./src --room room-01 --all", "push:prod": "thinknsh push ./dist --room room-02 --all", "notifs": "thinknsh notifications watch" } }
thinknsh --debug rooms thinknsh system:info
Troubleshooting
thinknsh cache:clear
thinknsh token:refresh # or logout and back in thinknsh logout && thinknsh login
# Check if .tncproject exists in current folder ls -la | grep .tncproject # If missing — init and link thinknsh tncproject init thinknsh tncproject link <room-id> # Or just use manual mode — login + rooms join thinknsh login thinknsh rooms join <room-id>
thinknsh system:info thinknsh diagnose
FAQ
~/.tncrc. Never commit this file to version control — it contains your encrypted auth token.thinknsh login and then thinknsh rooms join <id> to connect. Run thinknsh tncproject init once to set up auto-connect for that folder.TNC_EMAIL and TNC_TOKEN, then run thinknsh login --ci for non-interactive authentication.thinknsh notifications watch. This is by design so it doesn't interfere with your shell session.~/.thinkncollab/logs/. View them with thinknsh logs or open the file directly.Get Help
Multiple ways to reach us or find answers.
thinknsh support:contact # Or email: support@thinkncollab.com