@magiof/devtalk
v0.1.24
Published
A tiny team chat view for VS Code and Cursor.
Readme
DevTalk
DevTalk is a small team chat view for VS Code and Cursor. It lives in the Explorer sidebar, asks each person for a chat name on first use, and lets you manually join or leave through either Supabase Realtime or same-LAN UDP chat.
Features
- Shared team chat view
- VS Code and Cursor support through VSIX installation
- Theme-aware Webview UI
- First-run chat name setup
- Manual Join and Leave controls
- Join through Supabase Realtime or local UDP LAN mode
- Korean IME-safe Enter handling
- Unread message badge, capped at 999
- Unread marker showing where new messages began
- Supabase Realtime messaging
- Supabase Storage file sharing
- Image and animated GIF previews
- 5 MB file size limit
- Default and work visual themes
- Optional per-speaker pastel highlight mode
- Terminal client for the same Supabase room
Supabase Setup
Create a Supabase project, then create a public Storage bucket. devtalk-files is the default name, but you can choose another bucket name and enter it in DevTalk settings.
Recommended bucket policy for a small private friend group. Replace devtalk-files if you chose a different bucket name:
create policy "DevTalk public read"
on storage.objects for select
to public
using (bucket_id = 'devtalk-files');
create policy "DevTalk anon upload"
on storage.objects for insert
to anon
with check (
bucket_id = 'devtalk-files'
and (storage.foldername(name))[1] = 'general'
);The extension enforces a 5 MB file limit before upload. Keep Supabase keys out of the public repository.
Join Modes
When you click Join in the extension, DevTalk asks whether to connect through Supabase or UDP LAN.
- Supabase uses your configured Supabase Realtime room and supports file uploads.
- UDP LAN works on the same local network without Supabase setup. It supports text chat and online presence, but not file uploads.
Install
For the terminal CLI, install DevTalk from npm:
npm install -g @magiof/devtalk
dev-talkDownload the latest VSIX from GitHub Releases, then install it in VS Code:
- Open Extensions
- Select
... - Select
Install from VSIX... - Pick the downloaded
.vsixfile - Run
Developer: Reload Window
For Cursor, use Command Palette and run:
Extensions: Install from VSIX...If that command is not visible, install from a terminal:
cursor --install-extension devtalk-0.1.6.vsixSettings
DevTalk stores shared terminal and extension settings at ~/.devtalk/config.json. If you already ran the CLI setup, the VS Code/Cursor extension uses that config automatically. If the file does not exist, click Join in the DevTalk Explorer sidebar view and enter the values when prompted.
You can also set these in VS Code/Cursor user settings. Do not commit real values.
{
"devtalk.supabaseUrl": "https://your-project.supabase.co",
"devtalk.supabaseAnonKey": "your-anon-key",
"devtalk.storageBucket": "devtalk-files",
"devtalk.theme": "default"
}Use "devtalk.theme": "work" for a quieter, denser view that looks more like work logs than chat. You can also type /theme or /theme work in DevTalk to switch themes after joining. Type /color-mode to toggle per-speaker pastel highlights, and /config to edit nickname and Supabase settings from the chat view. The extension writes updated setup values back to ~/.devtalk/config.json so the CLI can reuse them.
To use a fixed nickname without the first-run prompt, also set:
{
"devtalk.nickname": "your-name"
}Terminal
DevTalk can also run in a terminal against the same Supabase room. On first run, missing settings are prompted and saved to ~/.devtalk/config.json. Keep real values out of Git.
npm run cliAfter packaging or installing the package, you can also run:
dev-talkDevTalk uses one shared room internally. CLI arguments and environment variables override saved settings:
dev-talk --bucket devtalk-files --name your-nameTerminal commands:
/theme [default|work]
/color-mode
/config
/file ./image.gif
/help
/quitFiles are limited to 5 MB. GIFs and images sent from the terminal appear as previews in the VS Code/Cursor view. Press Ctrl+C twice quickly to exit.
Development
npm install
npm run check
npm run packageTo run the extension locally, open this folder in VS Code, press F5, and open DevTalk in the Extension Development Host.
Security Notes
devtalk.supabaseUrlanddevtalk.supabaseAnonKeyare runtime settings, not source files..env*is ignored for local notes or scripts.- Terminal settings are saved outside the repository at
~/.devtalk/config.json. - The anon key is intended for client-side apps, but access must still be controlled with Supabase Row Level Security and Storage policies.
- Do not use the Supabase service role key in DevTalk.
License
MIT
