Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Kaa - Yapping in the IDENew to Visual Studio Code? Get it now.
Kaa - Yapping in the IDE

Kaa - Yapping in the IDE

logscore

| (1) | Free
X in your IDE so you can yap and ship at the same time
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🐦 Kaa - Kaa Extension

A Visual Studio Code extension that allows you to post to X (formerly Twitter) directly from your IDE using a beautiful React-based GUI.

Features

  • 🔐 Secure Authentication: Sign in to your X account using OAuth 2.0
  • 🔑 Client ID Management: Add, rotate, and securely store your X OAuth Client ID using VS Code commands
  • ✍️ X-like Interface: We strive to mimic the functionality and UI of X so yapping is as native as possible
  • 📝 Character Counter: Real-time character counting with visual feedback
  • 🚀 Direct Posting: Post to X without leaving your development environment
  • 🔒 Secure Storage: Credentials and Client IDs are stored securely using VS Code's built-in security features

Prerequisites

Before using this extension, you'll need:

  1. X Developer Account: Sign up at developer.twitter.com
  2. X OAuth Client ID: Create an app in your X Developer Portal and copy the Client ID
  3. VS Code: Version 1.103.0 or higher

Installation

  1. Clone this repository or download the extension

  2. Install dependencies:

    bun i
    
  3. Build the extension:

    bun dev
    
  4. Press F5 in VS Code to run the extension in a new Extension Development Host window

Setup

1. Add Your X OAuth Client ID

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
  2. Type "Kaa: Add Client ID" and select it
  3. Enter your OAuth Client ID when prompted
  4. The extension will securely store your Client ID using VS Code's SecretStorage

Rotating Your Client ID

  • If you need to change your Client ID (e.g., for security or app updates):
    1. Open the Command Palette
    2. Type "Kaa: Rotate Client ID" and select it
    3. Enter the new Client ID when prompted
    4. The extension will replace the old Client ID with the new one

2. Sign In to the Extension

  1. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
  2. Type "Kaa: Sign In" and select it
  3. Complete the authentication flow using your Client ID
  4. The extension will validate your credentials and sign you in

Usage

Commands

The extension provides several commands:

  • Kaa: Add Client ID - Store your X OAuth Client ID securely
  • Kaa: Rotate Client ID - Update your stored Client ID
  • Kaa: Sign In - Authenticate with your X account
  • Kaa: Create Post - Open the post creation interface
  • Kaa: Sign Out - Clear your stored credentials

Creating a Post

  1. Use the Command Palette to run "Kaa: Create Post"
  2. A new panel will open with the post interface
  3. Type your post content (up to 280 characters for regular posts, 25,000 for long posts)
  4. Click "Post" to submit
  5. You'll see real-time feedback on your post status

Character Counter

The interface includes a character counter that:

  • Shows current character count out of 280
  • Changes color to warn when approaching the limit

Security

  • Client ID & Credential Storage: Your X OAuth Client ID and credentials are stored securely using VS Code's SecretStorage API
  • No Local Files: Sensitive data is never stored in plain text files
  • Secure Communication: All API requests use HTTPS with proper authentication headers

Development

Project Structure

src/
├── extension.ts           # Main extension entry point
├── services/
│   ├── authService.ts     # Auth management class
│   └── xApiService.ts     # X API class
├── types/
│   └── index.ts           # TypeScript type definitions
├── test/
│   └── extension.test.ts  # Tests
└── webview/
    ├── styles.css         # App styles
    └── index.tsx          # The entire frontend

Building

# Compile the entire extension
bun run build

# Compile TypeScript
bun run compile

# Build webview bundle
bun run webview

# Watch mode for development
bun run webview-watch

Testing

bun run test

Troubleshooting

Common Issues

  1. "Client ID Not Set" Error

    • Run "Kaa: Add Client ID" from the Command Palette
    • Ensure you enter a valid OAuth Client ID
  2. "Rate Limit Exceeded" Error

    • X has rate limits on API calls
    • Wait for the specified retry time before posting again
  3. "Not Authenticated" Error

    • Use "Kaa: Sign In" to authenticate first
    • Check that your credentials are still valid

Debugging

Console logs will be displayed in the VS Code debug console

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests please for the love of God
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions:

  1. Check the troubleshooting section above
  2. Search existing issues on GitHub
  3. Create a new issue with detailed information about your problem

Changelog

Version 1.0.0

  • Initial release
  • Basic authentication with X API
  • Post creation interface
  • Secure credential storage
  • React-based webview GUI
  • Client ID management and rotation commands

Acknowledgments

  • Built with Visual Studio Code Extension API
  • UI powered by React
  • HTTP client: Axios

    Thank you to the yappers on X who taught me when to speak (always) and when to remain silent (never). This is for you...

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft