// 01

Installation

Install thinkncollab-shell globally via npm. Requires Node.js 16.0 or higher.

Prerequisites: Node.js ≥16.0, npm, and a ThinkNCollab account.
Install globally
bash
npm install -g thinkncollab-shell
Verify installation
bash
thinknsh --version
# thinkncollab-shell v0.0.10
Update to latest
bash
npm update -g thinkncollab-shell
Launch ThinkNCollab-Shell
bash
thinknsh
// 02

Authentication

Authenticate once and your credentials are stored securely in a .tncrc file in your home directory.

Login
bash
thinknsh login
# Prompts for email + password
# Stores encrypted token in ~/.tncrc
Check current user
bash
thinknsh whoami
# → logged in as: you@example.com
Logout
bash
thinknsh logout
Security: Never share your .tncrc file or commit it to version control. Regenerate your token via thinknsh token:refresh if compromised.
// 03

Quick Start

Up and running in under a minute.

Quick setup: Install → Login → Join a room → Push files
bash
# 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
// 04

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

CommandDescription
thinknsh roomsList 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
Examples
bash
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)
// 05

Files & Push

Push files to rooms, view version history, and pull updates — similar to Git but built into ThinkNCollab's collaboration layer.

CommandOptionsDescription
thinknsh push <file>--room <id>Push a file to a room
thinknsh push <dir>--room <id> --allPush 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 --v2Diff two versions of a file
bash
# 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
Authentication is verified via your .tncrc token on every push. Ensure you're logged in before pushing files.
// 06

Notifications

View, watch, and manage your ThinkNCollab notifications from the terminal.

CommandDescription
thinknsh notificationsList all unread notifications
thinknsh notifications --allShow all notifications (read + unread)
thinknsh notifications watchOpen live notification panel
thinknsh notifications mark-readMark all notifications as read
thinknsh notifications mark-read <id>Mark a single notification as read
thinknsh notifications clearClear all read notifications
bash
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)
The notification panel does not auto-launch on shell start. Open it manually when you need it.
// 07

Workspace

Switch between workspaces, view team members, and manage workspace settings.

CommandDescription
thinknsh workspaceShow current active workspace
thinknsh workspace listList all workspaces you belong to
thinknsh workspace switch <id>Switch active workspace
thinknsh workspace membersList all members in current workspace
thinknsh workspace invite <email>Invite a user to the workspace
// 08

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.

New in v0.0.10: thinknsh tncproject init creates a .tncproject file in your project root that links the folder to a room permanently.
Connection flow

When you run thinknsh inside a folder, it checks for .tncproject and takes the appropriate path:

thinknsh start
.tncproject found?
auto-connect room
OR
manual login + connect
Path A — .tncproject exists (auto mode)
Shell reads room ID + token from .tncproject and connects automatically — no manual login needed each time.
bash
# 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
CommandDescription
thinknsh tncproject initInitialize project config in current directory
thinknsh tncproject link <room-id>Link current project to a room
thinknsh tncproject statusShow linked room and project config
thinknsh tncproject unlinkRemove room link from project
thinknsh tncproject syncSync project metadata with linked room
Path B — no .tncproject (manual mode)
If no .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.
bash
# 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
Tip: Add .tncproject to your .gitignore if it contains personal tokens, or use a shared project token for team repos.
// 09

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.

Coming soon in thinknsh: thinknsh tasks, thinknsh task add, thinknsh task done. Available today via tnc-cli.
CommandStatusDescription
thinknsh taskscoming soonList all tasks in current workspace
thinknsh task add <title>coming soonCreate a new task
thinknsh task done <id>coming soonMark a task as complete
thinknsh task assign <id>coming soonAssign a task to a team member
// 10

Config

View and manage your local thinknsh configuration stored in ~/.tncrc.

CommandDescription
thinknsh configShow current config
thinknsh config set <key> <value>Set a config value
thinknsh config resetReset all config to defaults
thinknsh token:refreshRefresh your auth token
thinknsh token:revokeRevoke and delete your token
// 11

Advanced Usage

Power-user patterns, scripting, and CI integration.

CI / non-interactive login
bash
# 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
npm scripts integration
json
// 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"
  }
}
Debug mode
bash
thinknsh --debug rooms
thinknsh system:info
// 12

Troubleshooting

Common issues and fixes
Clear cache
bash
thinknsh cache:clear
Auth token expired
bash
thinknsh token:refresh
# or logout and back in
thinknsh logout && thinknsh login
.tncproject not found / manual fallback
bash
# 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>
System info
bash
thinknsh system:info
thinknsh diagnose
// 13

FAQ

What's the difference between thinkncollab-shell and tnc-cli?
thinknsh is the interactive shell CLI — rooms, push, notifications, workspace, tncproject. tnc-cli (thinkncollab-cli) is the version-control-focused CLI with task management already built in.
Where is the .tncrc file stored?
It's stored in your user home directory: ~/.tncrc. Never commit this file to version control — it contains your encrypted auth token.
What happens if .tncproject is missing from my folder?
thinknsh falls back to manual mode — you'll need to run thinknsh login and then thinknsh rooms join <id> to connect. Run thinknsh tncproject init once to set up auto-connect for that folder.
How do I use thinkncollab-shell in a CI/CD pipeline?
Use environment variables: TNC_EMAIL and TNC_TOKEN, then run thinknsh login --ci for non-interactive authentication.
Does the notification window auto-launch?
No — you open it manually when you need it with thinknsh notifications watch. This is by design so it doesn't interfere with your shell session.
Where are local logs stored?
Local logs are in ~/.thinkncollab/logs/. View them with thinknsh logs or open the file directly.
// 14

Get Help

Multiple ways to reach us or find answers.

// docs

Full API reference and guides

Read docs

// github

Report issues and contribute

View repo

// discord

Join our developer community

Join server

// email

Reach the team directly

Send email
Built-in support command
bash
thinknsh support:contact
# Or email: support@thinkncollab.com