This repository is the official AWS Toolkit extension for Visual Studio Code, providing deep integration with Amazon Web Services directly within the IDE. It enables developers to browse and manage AWS resources (S3, Lambda, CloudFormation, EC2, ECS, IoT, and dozens more), invoke Lambda functions, deploy serverless applications using AWS SAM, debug Lambda functions locally, and access Amazon Q (formerly CodeWhisperer) for AI-powered code suggestions, chat, security scanning, and code transformation. The codebase is a large monorepo organized into packages including the core extension logic, generated streaming API clients, a custom ESLint plugin, and webview-based UIs built with Vue.js. The architecture follows a modular activation pattern with centralized command registration, tree view providers for resource exploration, a wizard/prompter framework for multi-step user flows, and a telemetry system for operational metrics. It supports both Node.js and web (browser) extension targets. Despite its size, the codebase maintains consistent patterns, extensive test coverage, and clear separation of concerns, making it a well-crafted enterprise-grade IDE extension.
This repository is the open-source CLI client for Amazon Q Developer (formerly CodeWhisperer), now deprecated in favor of the closed-source Kiro CLI. It is a Rust workspace with approximately 2000 files, building two main binaries: `q` (terminal chat assistant) and `qchat` (legacy chat binary). The codebase is dominated by auto-generated AWS SDK client crates (amzn-codewhisperer-client, amzn-codewhisperer-streaming-client, amzn-qdeveloper-streaming-client, amzn-consolas-client, amzn-toolkit-telemetry-client), which are Smithy-generated and checked in. Hand-written code includes the chat CLI interactive loop, an agent framework with MCP (Model Context Protocol) support, a semantic search client using local ONNX models (MiniLM) and BM25 indexing, authentication (OIDC with device grant flow), telemetry, and an OS abstraction layer. The architecture is essentially a monolithic CLI application with multiple supporting libraries. About 90% of the source files are generated code, which means the hand-crafted components are relatively small. The project was previously actively maintained but is now effectively archived; the README states only critical security fixes will be accepted.