diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..877d17e9 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +## Security + +## [0.0.0] + +🎉 Cody for Visual Studio is now available! diff --git a/README.md b/README.md index 96109cbb..a41e94d1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,40 @@ # Cody for Visual Studio -Visual Studio extension for Cody, an AI coding assistant that uses search and codebase context to help you understand, write, and fix code faster. +Cody for Visual Studio, an AI coding assistant that uses search and codebase context to help you understand, write, and fix code faster. + +Install the extension from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sourcegraph.cody-vs). + +# AI that uses your codebase as context + +[Cody](https://about.sourcegraph.com/cody?utm_source=marketplace.visualstudio.com&utm_medium=referral) is an AI coding assistant that helps you understand, write, and fix code faster. It uses advanced search to pull context from both local and remote codebases so that you can use context about APIs, symbols, and usage patterns from across your entire codebase at any scale, all from within VS Code. Plus, Cody Pro users can choose from the latest large language models—like GPT-4o and Claude 3.5 Sonnet and Claude 3 Opus—to customize Cody to their needs. + +Install Cody to get started with free AI-powered chat, commands, and more. + +## Chat + +Answer questions about programming topics generally or your codebase specifically with Cody chat. Enable Cody to include Enhanced Context of your open project, or tag specific files and symbols to refine your chat prompt. + +For example, you can ask Cody: + +- "How is our app's secret storage implemented on Linux?" +- "Where is the CI config for the web integration tests?" +- "Write a new GraphQL resolver for the AuditLog" +- "Why is the UserConnectionResolver giving an "unknown user" error, and how do I fix it?" +- "Add helpful debug log statements" +- "Make this work" _(seriously, it often works—try it!)_ + + +## Choose Your LLM + +Cody Pro users can now select the LLM they want to use for chat and experiment to choose the best model for the job. Choose from Claude 3 Opus, Claude 3.5 Sonnet, Claude 3 Sonnet, Claude 3 Haiku, ChatGPT 4o, ChatGPT 4 Turbo, ChatGPT 3.5 Turbo, Google Gemini 1.5 Pro, Gemini 1.5 Flash, and Mixtral. + +Administrators for Sourcegraph Enterprise instances can choose betweeen Claude and ChatGPT models to set for their teams as well. + +## Usage + +This extension works for all Cody plans, including Cody Free, Cody Pro, and Cody Enterprise. + +You can find detailed information about Cody's available plans [on our website](https://sourcegraph.com/pricing?utm_source=marketplace.visualstudio.com&utm_medium=referral). ## Contributing diff --git a/docs/dev/Release.md b/docs/dev/Release.md new file mode 100644 index 00000000..18591b5c --- /dev/null +++ b/docs/dev/Release.md @@ -0,0 +1,59 @@ + +# Releases + +Version number format follows [Semantic Versioning](https://semver.org/) of ... + +## Stable release + +Follow these steps to publish a new release to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sourcegraph.cody-vs). + +1. **Coordinate with Marketing**: Contact the Marketing team in the Cody Slack channel approximately 2 days before the release to ensure a blog post is prepared. +2. TBC + +### Release checklist + +Include the following checklist in the PR description when creating a new release. + +```markdown +Release Checklist: + - [ ] Update version number + - [ ] Update [CHANGELOG.md](./CHANGELOG.md) + - [ ] Link to PR for the release blog post (if any) +``` + +Note: Ensure all checklist items are completed before merging the release PR. + +## Patch release + +To publish a **patch** release + +1. Make sure all the changes for the patch are already committed to the `main` branch. +2. TBC + +## Insiders builds + +Insiders builds are nightly (or more frequent) builds with the latest from `main`. They're less stable but have the latest changes. Only use the insiders build if you want to test the latest changes. + +### Using the insiders build + +To use the Cody insiders build: + +1. Install the extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=sourcegraph.cody-vs). + +### Publishing a new insiders build + +To manually trigger an insiders build: + +1. TBC + +## Running a release build locally + +It can be helpful to build and run the packaged extension locally to replicate a typical user flow. + +To do this: + +1. Set the target branch / commit in build.cake. +2. Run `cd src && dotnet cake`. +3. Open the [src/Cody.sln](src/Cody.sln) file in Visual Studio. +4. Right click on the [Cody.Visual Studio](src/Cody.VisualStudio/) project and select `Rebuild Project`. +5. Once the project is built, it will create a `Cody.VisualStudio.vsix` file in the `src/Cody.VisualStudio/bin/Debug` folder, which you can double-click to install the extension. \ No newline at end of file diff --git a/src/Cody.VisualStudio/source.extension.vsixmanifest b/src/Cody.VisualStudio/source.extension.vsixmanifest index d4b3679b..6e192588 100644 --- a/src/Cody.VisualStudio/source.extension.vsixmanifest +++ b/src/Cody.VisualStudio/source.extension.vsixmanifest @@ -1,41 +1,43 @@ - - - - - Cody -AI Coding Assistant with Autocomplete & Chat - AI coding assistant that uses search and codebase context to help you write code faster. Cody brings autocomplete, chat, and commands to VS Code, so you can generate code, write unit tests, create docs, and explain complex code using AI. Choose from the latest LLMs, including GPT-4o and Claude 3. - https://sourcegraph.com/ - Resources\Marketplace.png - Resources\Preview.png - true - - - - amd64 - - - amd64 - - - amd64 - - - arm64 - - - arm64 - - - arm64 - - - - - - - - - - - - \ No newline at end of file + + + + + Cody for Visual Studio - AI Coding Assistant + AI coding assistant that uses search and codebase context to help you write code faster. Cody brings chat, and commands to Visual Studio, so you can generate code, write unit tests, create docs, and explain complex code using AI. Choose from the latest LLMs, including GPT-4o, Claude 3.5 Sonnet, Claude 3 Opus, Google Gemini 1.5 Pro and more! + https://sourcegraph.com/cody + https://sourcegraph.com/docs + Resources\Marketplace.png + Resources\Preview.png + ai, openai, anthropic, assistant, chatbot, chat, refactor, documentation, test, sourcegraph, codey, llm, codegen, bot, model, typescript, javascript, python, golang, go, html, css, java, php, swift, kotlin, ollama, c#, c++, gemini + true + + + + amd64 + + + amd64 + + + amd64 + + + arm64 + + + arm64 + + + arm64 + + + + + + + + + + + + diff --git a/src/build.cake b/src/build.cake index 110c2194..ebfc5da5 100644 --- a/src/build.cake +++ b/src/build.cake @@ -1,4 +1,4 @@ -#addin nuget:?package=Cake.Git&version=4.0.0 +#addin nuget:?package=Cake.Git&version=4.0.0 #addin nuget:?package=Cake.Pnpm&version=1.0.0 #tool nuget:?package=vswhere&version=3.1.7 @@ -24,9 +24,9 @@ var codyRepo = "https://github.com/sourcegraph/cody.git"; var nodeBinaryUrl = "https://github.com/sourcegraph/node-binaries/raw/main/v20.12.2/node-win-x64.exe"; var nodeArmBinaryUrl = "https://github.com/sourcegraph/node-binaries/raw/main/v20.12.2/node-win-arm64.exe"; -var codyCommit = "0e03022321f543c27cbb4a8777b36a6698440102"; +var codyCommit = "5bb199df24ceb3668a02e80c08fead2f65720d15"; -var marketplaceToken = ""; +var marketplaceToken = EnvironmentVariable("CODY_VS_MARKETPLACE_RELEASE_TOKEN"); ////////////////////////////////////////////////////////////////////// // TASKS @@ -191,4 +191,4 @@ Task("Test") // EXECUTION ////////////////////////////////////////////////////////////////////// -RunTarget(target); \ No newline at end of file +RunTarget(target);