TeamSync TODO - Setup Guide
This guide will help you set up and use the TeamSync TODO extension.
Prerequisites
- Supabase Account: You need a Supabase project with the following tables:
Database Schema
teams table
CREATE TABLE teams (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
team_code TEXT UNIQUE NOT NULL,
team_name TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
todos table
CREATE TABLE todos (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
team_id UUID REFERENCES teams(id) ON DELETE CASCADE,
assignee_email TEXT NOT NULL,
description TEXT NOT NULL,
priority INTEGER CHECK (priority IN (1, 2, 3)),
status TEXT CHECK (status IN ('open', 'closed')) DEFAULT 'open',
file_path TEXT,
line_number INTEGER,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX idx_todos_team_id ON todos(team_id);
CREATE INDEX idx_todos_status ON todos(status);
Installation Steps
Open VS Code settings (Cmd/Ctrl + ,) and search for "TeamSync TODO":
- Supabase URL: Your Supabase project URL (e.g.,
https://xxxxx.supabase.co)
- Supabase Key: Your Supabase anon/public key
Alternatively, set environment variables:
export SUPABASE_URL="https://xxxxx.supabase.co"
export SUPABASE_KEY="your-anon-key"
- Open the Command Palette (Cmd/Ctrl + Shift + P)
- Run:
TeamSync: Configure Team
- Enter your team code (e.g.,
my-team-2024)
- If the team doesn't exist, you'll be prompted to create it with a team name
3. Add TODOs to Your Code
Use the following format in your code comments:
// TODO 1: Fix the login bug @varun@example.com
// TODO 2: Add error handling @pradeep@example.com
// TODO 3: Update documentation @susheel@example.com
Format: TODO [priority]: [description] @[email]
- Priority: 1 (high/red), 2 (medium/teal), or 3 (low/green)
- Description: What needs to be done
- Email: Assignee's email address
4. Sync TODOs to Database
- Open the Command Palette (Cmd/Ctrl + Shift + P)
- Run:
TeamSync: Sync TODOs
- The extension will scan your workspace and upload all TODOs to Supabase
5. View the Dashboard
- Open the Command Palette (Cmd/Ctrl + Shift + P)
- Run:
TeamSync: Open TODO Dashboard
- View all team TODOs in a beautiful Carbon Design System interface
Features
Real-time Collaboration
- TODOs are synced in real-time across all team members
- Changes made by one team member are instantly visible to others
Status Management
- Click the checkbox next to any TODO to mark it as complete
- Status changes are synced to the database and visible to all team members
Priority System
- Priority 1 (Red): High priority tasks
- Priority 2 (Teal): Medium priority tasks
- Priority 3 (Green): Low priority tasks
File Tracking
- Each TODO shows which file it's in
- Line numbers are tracked for easy navigation
Workflow
- Initial Setup: Configure team and Supabase credentials
- Add TODOs: Write TODO comments in your code
- Sync: Run the sync command to upload TODOs
- Collaborate: Team members can view and update TODO statuses
- Repeat: Add new TODOs and sync regularly
Troubleshooting
No Data in Dashboard
Problem: Dashboard shows no TODOs
Solutions:
- Ensure you've configured a team:
TeamSync: Configure Team
- Add TODO comments to your code files
- Run the sync command:
TeamSync: Sync TODOs
- Check Supabase credentials in settings
- Verify database tables exist and have correct schema
TODOs Not Syncing
Problem: New TODOs don't appear after sync
Solutions:
- Check the TODO format:
TODO [1-3]: [description] @[email]
- Ensure files aren't in excluded patterns (node_modules, dist, etc.)
- Check VS Code Output panel for error messages
- Verify Supabase connection and permissions
Real-time Updates Not Working
Problem: Changes don't appear in real-time
Solutions:
- Check Supabase Realtime is enabled for the
todos table
- Verify network connection
- Try refreshing the dashboard
Configuration Options
Exclude Patterns
By default, these directories are excluded from TODO scanning:
**/node_modules/**
**/dist/**
**/out/**
**/.git/**
**/build/**
You can customize this in VS Code settings under teamsync-todo.excludePatterns.
Support
For issues or questions, please check the project repository or contact your team administrator.