From 00e41868a861adff099f1200c63e015503bcccd1 Mon Sep 17 00:00:00 2001 From: Ty Dunn Date: Tue, 30 May 2023 09:42:06 +0200 Subject: landing page things --- docs/src/components/HomepageFeatures/index.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'docs/src/components') diff --git a/docs/src/components/HomepageFeatures/index.js b/docs/src/components/HomepageFeatures/index.js index 78f410ba..d6d381fb 100644 --- a/docs/src/components/HomepageFeatures/index.js +++ b/docs/src/components/HomepageFeatures/index.js @@ -4,32 +4,32 @@ import styles from './styles.module.css'; const FeatureList = [ { - title: 'Easy to Use', + title: 'Define the scenarios where LLMs should step into accelerate you', Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, description: ( <> - Docusaurus was designed from the ground up to be easily installed and - used to get your website up and running quickly. + Enable LLMs to be an autopilot for parts of your software development tasks by + leveraging steps and recipes created by others in your workflows as you code ), }, { - title: 'Focus on What Matters', + title: 'Create your own workflows to show LLMs exactly what to do', Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, description: ( <> - Docusaurus lets you focus on your docs, and we'll do the chores. Go - ahead and move your docs into the docs directory. + Use the Continue SDK to create your own custom steps and compose them together + into personalized recipes, so that using LLMs actually fits into your workflows ), }, { - title: 'Powered by React', + title: 'Guide the work done by LLMs to learn when to use and trust them', Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, description: ( <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. + Use the Continue GUI to review, reverse, and rerun some steps or even entire recipes, + incorporating LLMs with confidence into the workflows you use to create software ), }, -- cgit v1.2.3-70-g09d2 From 5d389d24123466e228fc39d9a8157ee9067336f6 Mon Sep 17 00:00:00 2001 From: Ty Dunn Date: Tue, 30 May 2023 13:19:48 +0200 Subject: initial docs styling --- docs/docs/concepts/agent.md | 9 -- docs/docs/concepts/autopilot.md | 11 ++ docs/docs/concepts/core.md | 2 + docs/docs/concepts/history.md | 2 + docs/docs/concepts/ide.md | 4 + docs/docs/concepts/llm.md | 2 + docs/docs/concepts/policy.md | 2 + docs/docs/concepts/recipe.md | 2 + docs/docs/concepts/sdk.md | 4 + docs/docs/concepts/state.md | 9 -- docs/docs/concepts/step.md | 2 + docs/docs/getting-started.md | 16 ++- docs/docs/how-continue-works.md | 12 +- docs/docs/install.md | 18 ++- docs/docs/intro.md | 22 ++- docs/docs/sdk.md | 1 - docs/docs/telemetry.md | 18 ++- docs/docs/walkthroughs/create-a-recipe.md | 8 +- docs/docs/walkthroughs/share-a-recipe.md | 4 +- docs/docs/walkthroughs/use-a-recipe.md | 4 +- docs/docs/walkthroughs/use-the-gui.md | 4 +- docs/docusaurus.config.js | 4 +- docs/sidebars.js | 3 +- docs/src/components/HomepageFeatures/index.js | 14 +- docs/src/pages/index.js | 6 +- docs/static/img/continue-cover-logo.png | Bin 0 -> 3556107 bytes docs/static/img/favicon.ico | Bin 3626 -> 4286 bytes docs/static/img/logo.svg | 12 +- docs/static/img/undraw_docusaurus_mountain.svg | 180 ++----------------------- docs/static/img/undraw_docusaurus_react.svg | 179 ++---------------------- docs/static/img/undraw_docusaurus_tree.svg | 49 ++----- 31 files changed, 173 insertions(+), 430 deletions(-) delete mode 100644 docs/docs/concepts/agent.md create mode 100644 docs/docs/concepts/autopilot.md delete mode 100644 docs/docs/concepts/state.md delete mode 100644 docs/docs/sdk.md create mode 100644 docs/static/img/continue-cover-logo.png (limited to 'docs/src/components') diff --git a/docs/docs/concepts/agent.md b/docs/docs/concepts/agent.md deleted file mode 100644 index 0528b305..00000000 --- a/docs/docs/concepts/agent.md +++ /dev/null @@ -1,9 +0,0 @@ -# Agent - -`Agent` contains the -- History -- LLM -- Policy -- IDE - -**Q: should we really call this abstraction agent?** \ No newline at end of file diff --git a/docs/docs/concepts/autopilot.md b/docs/docs/concepts/autopilot.md new file mode 100644 index 00000000..5fc2a220 --- /dev/null +++ b/docs/docs/concepts/autopilot.md @@ -0,0 +1,11 @@ +# Autopilot + +*TODO: Explain in detail what this is and what its purpose is* + +`Autopilot` contains the +- History +- LLM +- Policy +- IDE + +**We should rename agent to autopilot in the code** \ No newline at end of file diff --git a/docs/docs/concepts/core.md b/docs/docs/concepts/core.md index ee58cbb2..cd5f6d00 100644 --- a/docs/docs/concepts/core.md +++ b/docs/docs/concepts/core.md @@ -1,5 +1,7 @@ # Core +*TODO: Explain in detail what this is and what its purpose is* + The `Core` connects the SDK and GUI with the IDE (i.e. in VS Code, a web browser, etc), enabling the steps to make changes to your code and accelerate your software development workflows. The `Core` includes diff --git a/docs/docs/concepts/history.md b/docs/docs/concepts/history.md index e6c2a5ea..5c52e158 100644 --- a/docs/docs/concepts/history.md +++ b/docs/docs/concepts/history.md @@ -1,5 +1,7 @@ # History +*TODO: Explain in detail what this is and what its purpose is* + `History` is the ordered record of all past steps. **Q: What step data and metadata is stored in the history?** \ No newline at end of file diff --git a/docs/docs/concepts/ide.md b/docs/docs/concepts/ide.md index 980b589d..4f30995f 100644 --- a/docs/docs/concepts/ide.md +++ b/docs/docs/concepts/ide.md @@ -1,11 +1,15 @@ # IDE +*TODO: Explain in detail what this is and what its purpose is* + ## Supported IDEs ### VS Code The VS Code extension implementation can be found at `/continue/extension/src` +### GitHub Codespaces + ## IDE Protocol methods ### handle_json diff --git a/docs/docs/concepts/llm.md b/docs/docs/concepts/llm.md index 11bbacc7..226a49eb 100644 --- a/docs/docs/concepts/llm.md +++ b/docs/docs/concepts/llm.md @@ -1,5 +1,7 @@ # LLM +*TODO: Explain in detail what this is and what its purpose is* + `LLM` is the large language model that can be used in steps to automate that require some judgement based on context (e.g. generating code based on docs, explaining an error given a stack trace, etc) **Q: should we call this LLM? Perhaps just model?** diff --git a/docs/docs/concepts/policy.md b/docs/docs/concepts/policy.md index 6fbbc8d7..58de2606 100644 --- a/docs/docs/concepts/policy.md +++ b/docs/docs/concepts/policy.md @@ -1,5 +1,7 @@ # Policy +*TODO: Explain in detail what this is and what its purpose is* + The policy determines what step to run next **Q: what else do folks need to understand about policies?** diff --git a/docs/docs/concepts/recipe.md b/docs/docs/concepts/recipe.md index bc171b1d..3f051a4d 100644 --- a/docs/docs/concepts/recipe.md +++ b/docs/docs/concepts/recipe.md @@ -1,5 +1,7 @@ # Recipe +*TODO: Explain in detail what this is and what its purpose is* + An ordered sequence of steps that are intended to accomplish some complete task Actually just a step that is composed of only other steps / recipes. diff --git a/docs/docs/concepts/sdk.md b/docs/docs/concepts/sdk.md index e5ca2f99..3316d2d0 100644 --- a/docs/docs/concepts/sdk.md +++ b/docs/docs/concepts/sdk.md @@ -1,5 +1,9 @@ # SDK +*TODO: Explain in detail what this is and what its purpose is* + +*TODO: Detail all the SDK methods and how to use them* + The `SDK` gives you access to tools (e.g. open a directory, edit a file, call an LLM, etc), which you can use when defining how a step should work and composing them with other steps. ## SDK methods diff --git a/docs/docs/concepts/state.md b/docs/docs/concepts/state.md deleted file mode 100644 index d48dbe88..00000000 --- a/docs/docs/concepts/state.md +++ /dev/null @@ -1,9 +0,0 @@ -# State - -*Note: this is only a proposed concept at this point* - -Steps can add, edit, and remove observations / memories stored in state. - -Allows you to pass context of previous steps, other files, etc. - -Alternative names: memory, observation store \ No newline at end of file diff --git a/docs/docs/concepts/step.md b/docs/docs/concepts/step.md index d381f06e..1f33a955 100644 --- a/docs/docs/concepts/step.md +++ b/docs/docs/concepts/step.md @@ -1,5 +1,7 @@ # Step +*TODO: Explain in detail what this is and what its purpose is* + A step is ## Step methods diff --git a/docs/docs/getting-started.md b/docs/docs/getting-started.md index 8b3a7945..0324f89e 100644 --- a/docs/docs/getting-started.md +++ b/docs/docs/getting-started.md @@ -1 +1,15 @@ -# Getting Started \ No newline at end of file +# Getting started + +## GitHub Codespaces Demo + +*TODO: Describe step-by-step how to try the GitHub Codespaces Demo* + +## Next Steps + +If you would prefer to use Continue locally, we reccommend installing `Continue` packaged as a VS Code extension as described [here](./install.md). + +Otherwise, if you would like to continue to use GitHub Codespaces, then you should now go through the walkthroughs: +- How to [use the GUI](./walkthroughs/use-the-gui.md) +- How to [use a recipe](./walkthroughs/use-a-recipe.md) +- How to [create a recipe](./walkthroughs/create-a-recipe.md) +- How to [share a recipe](./walkthroughs/share-a-recipe.md) \ No newline at end of file diff --git a/docs/docs/how-continue-works.md b/docs/docs/how-continue-works.md index e29faef8..a41986d0 100644 --- a/docs/docs/how-continue-works.md +++ b/docs/docs/how-continue-works.md @@ -1,9 +1,11 @@ -# How Continue works +# How `Continue` works -The Continue library consists of a `SDK`, a `GUI`, and a `Core` that brings everything together. +*TODO: Describe in more detail how `Continue` works* -The `SDK` gives you access to tools (e.g. open a directory, edit a file, call a model, etc), which you can use when defining how a step should work and composing them with other steps. +The `Continue` library consists of a [SDK](./concepts/sdk.md), a [GUI](./concepts/gui.md), and a [Core](./concepts/core.md) that brings everything together. -The `GUI` enables you to guide steps and makes everything transparent, so you can review all steps that were automated, giving you the opportunity to undo and rerun any that ran incorrectly. +The [SDK](./concepts/sdk.md) gives you access to tools (e.g. open a directory, edit a file, call a model, etc), which you can use when defining how a step should work and composing them with other steps. -The `Core` connects the SDK and GUI with the IDE (i.e. in VS Code, a web browser, etc), enabling the steps to make changes to your code and accelerate your software development workflows. \ No newline at end of file +The [GUI](./concepts/gui.md) enables you to guide steps and makes everything transparent, so you can review all steps that were automated, giving you the opportunity to undo and rerun any that ran incorrectly. + +The [Core](./concepts/core.md) connects the SDK and GUI with the IDE (i.e. in VS Code, a web browser, etc), enabling the steps to make changes to your code and accelerate your software development workflows. \ No newline at end of file diff --git a/docs/docs/install.md b/docs/docs/install.md index f34d65bd..923e7bd1 100644 --- a/docs/docs/install.md +++ b/docs/docs/install.md @@ -1 +1,17 @@ -# Installation \ No newline at end of file +# Installation + +If you want to try out `Continue` without having to install it, check out the [GitHub Codespaces Demo](./getting-started.md) + +## Install `Continue` packaged as a VS Code extension + +Steps for installing `Continue` packaged as a VS Code extension... + +*TODO: Describe step-by-step how to install `Continue` packaged as a VS Code extension* + +## Next steps + +Now that you have installed the VS Code extension, you should go through the walkthroughs: +- How to [use the GUI](./walkthroughs/use-the-gui.md) +- How to [use a recipe](./walkthroughs/use-a-recipe.md) +- How to [create a recipe](./walkthroughs/create-a-recipe.md) +- How to [share a recipe](./walkthroughs/share-a-recipe.md) \ No newline at end of file diff --git a/docs/docs/intro.md b/docs/docs/intro.md index 04a50b86..2d92d777 100644 --- a/docs/docs/intro.md +++ b/docs/docs/intro.md @@ -1,8 +1,20 @@ # Introduction -## An open-source library to accelerate your use of models like GPT-4 while coding +![continue-cover-logo](/img/continue-cover-logo.png) -Automate more steps of your software development workflows using LLMs: -1. Leverage steps created by others in your workflows as you code -2. Customize steps and compose them together to fit your workflows -3. Review, reverse, and rerun steps to use models with confidence \ No newline at end of file +## What is `Continue`? + +**`Continue` is the open-source library for accelerating your use of LLMs while coding.** + +You define the scenarios where Large Language Models ([LLMs](./concepts/llm.md)) like GPT-4 and StarCoder should act as an autopilot that helps you complete software development tasks. You use [recipes](./concepts/recipe.md) created by others to automate more steps in your development workflows. If a [recipe](./concepts/recipe.md) does not exist or work exactly like you want, you can use the [Continue SDK](./concepts/sdk.md) to create custom [steps](./concepts/step.md) and compose them into personalized [recipes](./concepts/recipe.md). Whether you are using a [recipe](./concepts/recipe.md) created by yourself or someone else, you can also review, reverse, and rerun [steps](./concepts/step.md) with the [Continue GUI](./concepts/gui.md), which helps guide the work done by LLMs and learn when to use and trust them. + +## Why do developers use `Continue`? + +Many developers have begun to use models like [GPT-4](https://openai.com/research/gpt-4) through [ChatGPT](https://openai.com/blog/chatgpt) while coding; however, this is quite a painful experience because of how much manual copy, paste, and editing is required to construct context for LLMs and then incorporate the generations from LLMs. Many other developers prefer to use open source models or work at organizations where they are unable to use ChatGPT, so they are using [StarCoder](https://huggingface.co/blog/starcoder) [Chat](https://huggingface.co/chat/) and running into the same issues. + +`Continue` eliminates the manual copy, paste, and editing required when using LLMs while coding. This accelerates how developers build, ship, and maintain software, while giving them the control to define when LLMs should take actions and the confidence to trust LLMs. In short, it enables developers to do what they have always done: work together to create better and better abstractions that make it easier and easier to automate the repetitive work that people want computers to do. + +## Getting started + +1. Try out `Continue` in the [GitHub Codespaces Demo](./getting-started.md) +2. Install `Continue` packaged as a [VS Code extension](./install.md) \ No newline at end of file diff --git a/docs/docs/sdk.md b/docs/docs/sdk.md deleted file mode 100644 index c7e10e85..00000000 --- a/docs/docs/sdk.md +++ /dev/null @@ -1 +0,0 @@ -# SDK \ No newline at end of file diff --git a/docs/docs/telemetry.md b/docs/docs/telemetry.md index cf53d631..be0c7666 100644 --- a/docs/docs/telemetry.md +++ b/docs/docs/telemetry.md @@ -1 +1,17 @@ -# Telemetry \ No newline at end of file +# Telemetry + +## Overview + +`Continue` collects and reports **anonymous** usage information. This data is essential to understanding how we should improve the library. You can opt out of it at any time. + +## What we track + +We track the following... + +*TODO: Detail exactly what we track* + +## How to opt out + +Here are the instructions for turning off telemetry... + +*TODO: Describe step-by-step how to opt out of telemetry* \ No newline at end of file diff --git a/docs/docs/walkthroughs/create-a-recipe.md b/docs/docs/walkthroughs/create-a-recipe.md index 21d937b5..74800531 100644 --- a/docs/docs/walkthroughs/create-a-recipe.md +++ b/docs/docs/walkthroughs/create-a-recipe.md @@ -1,4 +1,6 @@ -# Create a Recipe +# Create a recipe + +*TODO: Describe step-by-step how to create a recipe* ## 1. Create a step @@ -48,7 +50,9 @@ class SetUpVenvStep(Step): await sdk.run("python3 -m venv env && source env/bin/activate") # MacOS and Linux ``` -## 2. Compose steps together +## 2. Compose steps together into a complete recipe + +R By convention, the name of every recipe ends with `Recipe`. diff --git a/docs/docs/walkthroughs/share-a-recipe.md b/docs/docs/walkthroughs/share-a-recipe.md index 4082d207..1d5e2f60 100644 --- a/docs/docs/walkthroughs/share-a-recipe.md +++ b/docs/docs/walkthroughs/share-a-recipe.md @@ -1 +1,3 @@ -# Share a recipe \ No newline at end of file +# Share a recipe + +*TODO: Describe step-by-step how to share a recipe* \ No newline at end of file diff --git a/docs/docs/walkthroughs/use-a-recipe.md b/docs/docs/walkthroughs/use-a-recipe.md index 40dc9da1..fc653eea 100644 --- a/docs/docs/walkthroughs/use-a-recipe.md +++ b/docs/docs/walkthroughs/use-a-recipe.md @@ -1 +1,3 @@ -# Use a Recipe \ No newline at end of file +# Use a recipe + +*TODO: Describe step-by-step how to use a recipe* \ No newline at end of file diff --git a/docs/docs/walkthroughs/use-the-gui.md b/docs/docs/walkthroughs/use-the-gui.md index cfd5f214..a7263159 100644 --- a/docs/docs/walkthroughs/use-the-gui.md +++ b/docs/docs/walkthroughs/use-the-gui.md @@ -1 +1,3 @@ -# Use the GUI \ No newline at end of file +# Use the GUI + +*TODO: Describe step-by-step how to use the `Continue GUI`* \ No newline at end of file diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index e3f633dc..7ca00f8d 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -7,7 +7,7 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { title: 'Continue', - tagline: 'an open-source library to accelerate your use of models like GPT-4 while coding', + tagline: 'the open-source library for accelerating your use of LLMs while coding', favicon: 'img/favicon.ico', // Set the production url of your site here @@ -105,7 +105,7 @@ const config = { ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} Continue, Inc.`, + copyright: `Copyright © ${new Date().getFullYear()} Continue Dev, Inc.`, }, prism: { theme: lightCodeTheme, diff --git a/docs/sidebars.js b/docs/sidebars.js index befe4feb..a8138432 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -33,7 +33,7 @@ const sidebars = { type: 'category', label: 'Concepts', items: [ - 'concepts/agent', + 'concepts/autopilot', 'concepts/core', 'concepts/gui', 'concepts/history', @@ -45,7 +45,6 @@ const sidebars = { 'concepts/step', ], }, - 'sdk', 'telemetry', ], }; diff --git a/docs/src/components/HomepageFeatures/index.js b/docs/src/components/HomepageFeatures/index.js index d6d381fb..764ca891 100644 --- a/docs/src/components/HomepageFeatures/index.js +++ b/docs/src/components/HomepageFeatures/index.js @@ -8,8 +8,8 @@ const FeatureList = [ Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, description: ( <> - Enable LLMs to be an autopilot for parts of your software development tasks by - leveraging steps and recipes created by others in your workflows as you code + Enable LLMs to be an autopilot for parts of your software development tasks + by leveraging recipes created by others in the workflows you use when coding ), }, @@ -18,18 +18,18 @@ const FeatureList = [ Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, description: ( <> - Use the Continue SDK to create your own custom steps and compose them together - into personalized recipes, so that using LLMs actually fits into your workflows + Use the Continue SDK to create your own custom steps and compose them into + personalized recipes, so that using LLMs seamlessly fits into your workflows ), }, { - title: 'Guide the work done by LLMs to learn when to use and trust them', + title: 'Guide the steps taken by LLMs to learn when to use and trust them', Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, description: ( <> - Use the Continue GUI to review, reverse, and rerun some steps or even entire recipes, - incorporating LLMs with confidence into the workflows you use to create software + Use the Continue GUI to review, reverse, and rerun steps or even entire recipes, + incorporating LLMs with confidence into your software development workflows ), }, diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index 1167a97a..a17ffc4d 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -17,8 +17,8 @@ function HomepageHeader() {
- Test drive it in Codespaces + to="/docs/getting-started"> + GitHub Codespaces Demo
@@ -30,7 +30,7 @@ export default function Home() { const {siteConfig} = useDocusaurusContext(); return (
diff --git a/docs/static/img/continue-cover-logo.png b/docs/static/img/continue-cover-logo.png new file mode 100644 index 00000000..de52f6f5 Binary files /dev/null and b/docs/static/img/continue-cover-logo.png differ diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico index c01d54bc..0c361979 100644 Binary files a/docs/static/img/favicon.ico and b/docs/static/img/favicon.ico differ diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg index 9db6d0d0..cf6cfeba 100644 --- a/docs/static/img/logo.svg +++ b/docs/static/img/logo.svg @@ -1 +1,11 @@ - \ No newline at end of file + + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_mountain.svg b/docs/static/img/undraw_docusaurus_mountain.svg index af961c49..77cd4b54 100644 --- a/docs/static/img/undraw_docusaurus_mountain.svg +++ b/docs/static/img/undraw_docusaurus_mountain.svg @@ -1,171 +1,11 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_react.svg b/docs/static/img/undraw_docusaurus_react.svg index 94b5cf08..ba158585 100644 --- a/docs/static/img/undraw_docusaurus_react.svg +++ b/docs/static/img/undraw_docusaurus_react.svg @@ -1,170 +1,11 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/docs/static/img/undraw_docusaurus_tree.svg b/docs/static/img/undraw_docusaurus_tree.svg index d9161d33..7e45e3ef 100644 --- a/docs/static/img/undraw_docusaurus_tree.svg +++ b/docs/static/img/undraw_docusaurus_tree.svg @@ -1,40 +1,11 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + -- cgit v1.2.3-70-g09d2 From fd446b55cb32d35ab9d0a0b535af26c366154388 Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Thu, 1 Jun 2023 23:47:38 -0400 Subject: Edits and braindumps in docs --- docs/docs/concepts/autopilot.md | 20 ++++-- docs/docs/concepts/core.md | 14 ++-- docs/docs/concepts/gui.md | 15 ++-- docs/docs/concepts/history.md | 4 +- docs/docs/concepts/ide.md | 6 +- docs/docs/concepts/llm.md | 4 +- docs/docs/concepts/policy.md | 4 +- docs/docs/concepts/recipe.md | 4 +- docs/docs/concepts/sdk.md | 6 +- docs/docs/concepts/step.md | 6 +- docs/docs/getting-started.md | 27 +++---- docs/docs/how-continue-works.md | 18 +++-- docs/docs/install.md | 13 ++-- docs/docs/intro.md | 18 +++-- docs/docusaurus.config.js | 80 ++++++++++----------- docs/src/components/HomepageFeatures/index.js | 35 ++++----- docs/static/img/continue-architecture.png | Bin 136666 -> 1023648 bytes extension/README.md | 2 +- .../react-app/src/components/CodeMultiselect.tsx | 2 +- .../react-app/src/components/VSCodeFileLink.tsx | 4 +- extension/react-app/src/tabs/chat/MessageDiv.tsx | 2 +- extension/scripts/README.md | 2 +- extension/src/README.md | 14 ++-- 23 files changed, 153 insertions(+), 147 deletions(-) (limited to 'docs/src/components') diff --git a/docs/docs/concepts/autopilot.md b/docs/docs/concepts/autopilot.md index 5073f7cb..f3ed6fc9 100644 --- a/docs/docs/concepts/autopilot.md +++ b/docs/docs/concepts/autopilot.md @@ -8,13 +8,23 @@ The **autopilot** is the main loop, completing steps and then deciding the next ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +The Autopilot class is the center of Continue. Every step is initiated from the Autopilot, which provides it with a ContinueSDK. + +- Records history +- Allows reversal +- Injects SDK +- Has policy to decide what step to take next +- Accepts user input and acts on it +- Main event loop +- Contains main classes that are provided through the SDK, including LLM, History, IDE + +--- - An autopilot takes user input from the React app - You can see this happening in `server/notebook.py` - It basically queues user inputs, pops off the most recent, runs that as a "UserInputStep", uses its Policy to run other steps until the next step is None, and then pops off the next user input. When nothing left, just waits for more - `Autopilot` contains the - - History - - LLM - - Policy - - IDE \ No newline at end of file + - History + - LLM + - Policy + - IDE diff --git a/docs/docs/concepts/core.md b/docs/docs/concepts/core.md index 766dbca0..e9757b36 100644 --- a/docs/docs/concepts/core.md +++ b/docs/docs/concepts/core.md @@ -3,16 +3,16 @@ **TODO: Better explain in one sentence what this is and what its purpose is** :::info -The **Continue Core** connects the [SDK](./sdk.md) and [GUI](./gui.md) with the [IDE](./ide.md) (i.e. in VS Code, GitHub Codespaces, a web browser text editor, etc), enabling the steps to make changes to your code and accelerate your software development workflows +The **Continue Core** holds the main event loop, responsible for connecting [IDE](./ide.md) (i.e. in VS Code, GitHub Codespaces, a web browser text editor, etc), [SDK](./sdk.md), and [GUI](./gui.md), and deciding which steps to take next. ::: ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +I tried a rewrite of the info box above. The core doesn't really mean that much except for maybe the Autopilot class and the small set of classes in core.py, including History, Step, Policy mostly. Maybe best referred to as a set of abstractions. Autopilot runs the main event loop, basically queueing user input and asking the policy what to do next, and injecting the SDK, and recording history. I suppose you could also say it includes the protocols, in which case you might say "connects IDE and GUI through the SDK", though lots of 3-letter acronyms going on here. Notes below are correct. - The `Core` includes - - IDE protocol - - GUI protocol - - SDK - - Autopilot -- There is a two-way sync between an IDE and the GUI that happens through Core \ No newline at end of file + - IDE protocol + - GUI protocol + - SDK + - Autopilot +- There is a two-way sync between an IDE and the GUI that happens through Core diff --git a/docs/docs/concepts/gui.md b/docs/docs/concepts/gui.md index 7ba16a63..ff99839f 100644 --- a/docs/docs/concepts/gui.md +++ b/docs/docs/concepts/gui.md @@ -2,20 +2,17 @@ **TODO: Make sure codebase aligns with this terminology** -**TODO: Explain in one sentence what this is and what its purpose is** - :::info -The **Continue GUI** enables you to guide steps and makes everything transparent, so you can review all steps that were automated, giving you the opportunity to undo and rerun any that ran incorrectly +The **Continue GUI** lets you transparently review every automated step, providing the opportunity to undo and rerun any that ran incorrectly. ::: - ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +GUI displays every step taken by Continue in a way that lets you easily review, reverse, refine, re-run. Provides a natural language prompt where you can request edits in natural language or initiate recipes with slash commands. Communicates with the Continue server via GUI Protocol. Is a React app, which will eventually be published as a standalone npm package, importable as a simple React component. - **From GUI to Core** - - Natural language instructions from the developer - - Hover / clicked on a step - - Other user input + - Natural language instructions from the developer + - Hover / clicked on a step + - Other user input - **From Core to GUI** - - Updates to state (e.g. a new step) \ No newline at end of file + - Updates to state (e.g. a new step) diff --git a/docs/docs/concepts/history.md b/docs/docs/concepts/history.md index bf72d2b4..7f028e14 100644 --- a/docs/docs/concepts/history.md +++ b/docs/docs/concepts/history.md @@ -8,6 +8,6 @@ The **history** is the ordered record of all past steps ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +History stores a list ("timeline") of HistoryNodes. Each HistoryNode contains the Step with parameters, the Observation returned by the step, and the depth of the step (just so we can understand the tree structure, and what called what, and display as a tree if we wanted). History has a current_index, which can be smaller than the length of the timeline if some steps have been reversed (in which case GUI displays them with lower opacity). History class mostly responsible for maintaining order of history during reversals, grabbing most recent steps, or other things that should be bottlenecked through reliable access methods. -- What step data and metadata is stored in the history? \ No newline at end of file +- What step data and metadata is stored in the history? diff --git a/docs/docs/concepts/ide.md b/docs/docs/concepts/ide.md index f7ff2429..dc20518e 100644 --- a/docs/docs/concepts/ide.md +++ b/docs/docs/concepts/ide.md @@ -8,10 +8,10 @@ The **IDE** is the text editor where you manually edit your code. ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +SDK provides "IDEProtocol" class so that steps can interact with VS Code, etc... in an IDE-agnostic way. Communicates with editor through websockets protocol. All that's needed to make continue work with a new IDE/editor is to implement the protocol on the side of the editor. - `ide_protocol.py` is just the abstract version of what is implemented in `ide.py`, and `main.py` runs both `notebook.py` and `ide.py` as a single FastAPI server. This is the entry point to the Continue server, and acts as a bridge between IDE and React app -- extension directory contains 1. The VS Code extension, whose code is in `extension/src`, with `extension.ts` being the entry point, and 2. the Continue React app, in the `extension/react-app` folder. This is displayed in the sidebar of VSCode, but is designed to work with any IDE that implements the protocol as is done in `extension/src/continueIdeClient.ts`. +- extension directory contains 1. The VS Code extension, whose code is in `extension/src`, with `extension.ts` being the entry point, and 2. the Continue React app, in the `extension/react-app` folder. This is displayed in the sidebar of VS Code, but is designed to work with any IDE that implements the protocol as is done in `extension/src/continueIdeClient.ts`. ## Supported IDEs @@ -95,4 +95,4 @@ Apply a file edit ### saveFile -Save a file \ No newline at end of file +Save a file diff --git a/docs/docs/concepts/llm.md b/docs/docs/concepts/llm.md index fb3b2a33..6e5fccc1 100644 --- a/docs/docs/concepts/llm.md +++ b/docs/docs/concepts/llm.md @@ -8,7 +8,7 @@ An **LLM** is short for Large Language Model, which includes models like GPT-4, ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +Just a class with a "complete" method. Right now have HuggingFaceInferenceAPI and OpenAI subclasses. Need credentials as of now. Different models useful in different places, so we provide easy access to multiple of them, right now just gpt3.5 and starcoder, but can add others super easily. - `LLM` is the large language model that can be used in steps to automate that require some judgement based on context (e.g. generating code based on docs, explaining an error given a stack trace, etc) - Steps and recipes are implemented with specific models @@ -20,4 +20,4 @@ An **LLM** is short for Large Language Model, which includes models like GPT-4, ### `gpt-turbo-3.5` -### `StarCoder` \ No newline at end of file +### `StarCoder` diff --git a/docs/docs/concepts/policy.md b/docs/docs/concepts/policy.md index 79dbca56..ea515673 100644 --- a/docs/docs/concepts/policy.md +++ b/docs/docs/concepts/policy.md @@ -8,7 +8,7 @@ A **policy** is decides what step to run next and is associated with a [autopilo ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +A relic of my original plan that ended up being the place to define slash commands, the command run on startup, and other weird stuff that you might want to inject after certain other steps. This may be the place where "hooks" turn out to be implemented. Much of this may be configurable through `continue.json/yaml` config file (this is where steps that run on GUI opening are currently configured.). Simply takes the history and returns a single step to run next. Can return None if no step to take next. Then user input will kick it off again eventually. Autopilot has a single policy that it follows, so definitely a global/user-configurable type of thing. - The Policy is where slash commands are defined -- The Policy is a global thing, so probably something we'll want to make user-configurable if we don't significantly change it \ No newline at end of file +- The Policy is a global thing, so probably something we'll want to make user-configurable if we don't significantly change it diff --git a/docs/docs/concepts/recipe.md b/docs/docs/concepts/recipe.md index 05d5eb0b..da2b6264 100644 --- a/docs/docs/concepts/recipe.md +++ b/docs/docs/concepts/recipe.md @@ -8,8 +8,8 @@ A **recipe** is an ordered sequence of [steps](./step.md) that are intended to a ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** +When enough steps are strung together they become a recipe. Can kick off with slash command, can share/download somehow. - Although technically just a step itself, since they also subclass the Step class, recipes differentiate themselves from normal steps by ending their name with `Recipe` by - Technically, everything is a step since everything subclasses the step class. Steps can be composed together. Once steps are composed into a workflow that developers use and share with others, that step is called a recipe and, by convention, it ends with Recipe to signal this -- Actually just a step that is composed of only other steps / recipes. \ No newline at end of file +- Actually just a step that is composed of only other steps / recipes. diff --git a/docs/docs/concepts/sdk.md b/docs/docs/concepts/sdk.md index aab97f5f..30da2e79 100644 --- a/docs/docs/concepts/sdk.md +++ b/docs/docs/concepts/sdk.md @@ -8,8 +8,6 @@ The **Continue SDK** gives you all the tools you need to automate software devel ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** - - The ContinueSDK has a `run_step` method, which allows Steps to be composable - The reason you want to run it with `run_step` instead of creating a Step and calling `step.run(...)` is so Continue can automatically keep track of the order of all steps run, and allow for reversibility, etc... - The ContinueSDK also contains functions for very common steps, like `edit_file`, `add_file`, `run` (to run shell commands), and a few others @@ -21,7 +19,7 @@ The **Continue SDK** gives you all the tools you need to automate software devel ### `sdk.ide` -`sdk.ide` is an instance of the class `AbstractIdeProtocolServer`, which contains all the methods you might need to interact with the IDE. This includes things like reading, editing, saving, and opening files as well as getting the workspace directory, displaying suggestions, and more. The goal is to have an IDE agnostic way of interacting with IDEs, so that Steps are portable across VSCode, Sublime, Code, or any other editor you use. +`sdk.ide` is an instance of the class `AbstractIdeProtocolServer`, which contains all the methods you might need to interact with the IDE. This includes things like reading, editing, saving, and opening files as well as getting the workspace directory, displaying suggestions, and more. The goal is to have an IDE agnostic way of interacting with IDEs, so that Steps are portable across VS Code, Sublime, Code, or any other editor you use. ### `sdk.models` @@ -61,4 +59,4 @@ The below methods are all just shorthand for very common steps. ### `get_user_secret` -`get_user_secret` will retrieve a secret from the local .env file or, if it doesn't exist, prompt the user to enter the secret, then store this in the .env file. \ No newline at end of file +`get_user_secret` will retrieve a secret from the local .env file or, if it doesn't exist, prompt the user to enter the secret before moving on. diff --git a/docs/docs/concepts/step.md b/docs/docs/concepts/step.md index 61761344..b92e6faf 100644 --- a/docs/docs/concepts/step.md +++ b/docs/docs/concepts/step.md @@ -8,8 +8,6 @@ A **step** is a simple action that the LLM should take as part of a sequence tha ## Details -**TODO: Nate to brain dump anything important to know and Ty to shape into paragraphs** - - A `Step` is a Pydantic class inheriting from `Step` - Steps implement the `run` method, which takes a ContinueSDK as its only parameter - The ContinueSDK gives all the utilities you need to easily write recipes (Steps) @@ -60,7 +58,7 @@ Create and run an alembic migration #### Parameters -- `edited_file`: +- `edited_file`: ### WritePytestsStep @@ -68,4 +66,4 @@ Write unit tests for this file. #### Parameters -- for_filepath (required): the path of the file that unit tests should be created for \ No newline at end of file +- for_filepath (required): the path of the file that unit tests should be created for diff --git a/docs/docs/getting-started.md b/docs/docs/getting-started.md index bec9961c..39becd1a 100644 --- a/docs/docs/getting-started.md +++ b/docs/docs/getting-started.md @@ -2,15 +2,15 @@ ## GitHub Codespaces Demo -**TODO: Add `Open in GitHub Codespaces` badge here** +[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/continuedev/continue-codespaces-demo?quickstart=1) 1. Click the `Open in GitHub Codespaces` badge above :::tip - We don't want to waste your time with install and env setup before you try Continue, so we set up a GitHub Codespaces dev container for you, which **won’t cost you anything**. If you are using GitHub Free for personal accounts, you can [use Codespaces for 120 hours per month for free](https://docs.github.com/en/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts) +We don't want to waste your time with install and env setup before you try Continue, so we set up a GitHub Codespace for you, which **won’t cost you anything**. If you are using GitHub Free for personal accounts, you can [use Codespaces for 120 hours per month for free](https://docs.github.com/en/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts) ::: -2. Select the `Create new codespace` button and wait a couple minutes for it to launch and then install the Continue extension. It should look like this one it is complete: +2. Select the `Create new codespace` button and wait a couple minutes while it launches and installs the Continue extension. Once complete, it should look like this: **TODO: Insert an image of Continue when it has opened** @@ -19,9 +19,9 @@ **TODO: Design and set up Pandas stuff scenario in codespaces** 4. There are a few recipes you should also try -a. In the first directory, try out X recipe -b. In the second directory, try out Y recipe -c. In the third directory, try out Z recipe + a. In the first directory, try out X recipe + b. In the second directory, try out Y recipe + c. In the third directory, try out Z recipe - database migrations - something super simple (libaries) @@ -31,10 +31,13 @@ c. In the third directory, try out Z recipe ## Next Steps -If you would prefer to use Continue locally, we reccommend installing `Continue` packaged as a VS Code extension as described [here](./install.md). +If you're ready to use Continue locally, install `Continue` packaged as a VS Code extension, as described [here](./install.md). -Otherwise, if you would like to continue to use Continue on GitHub Codespaces, then you should now go through the walkthroughs: -- How to [use the GUI](./walkthroughs/use-the-gui.md) -- How to [use a recipe](./walkthroughs/use-a-recipe.md) -- How to [create a recipe](./walkthroughs/create-a-recipe.md) -- How to [share a recipe](./walkthroughs/share-a-recipe.md) \ No newline at end of file +If you'd like to continue exploring in GitHub Codespaces, you can learn more with our walkthroughs: + +How to... + +- [Use the GUI](./walkthroughs/use-the-gui.md) +- [Invoke a recipe](./walkthroughs/use-a-recipe.md) +- [Create a recipe](./walkthroughs/create-a-recipe.md) +- [Share a recipe](./walkthroughs/share-a-recipe.md) diff --git a/docs/docs/how-continue-works.md b/docs/docs/how-continue-works.md index e032c7a4..32bf6347 100644 --- a/docs/docs/how-continue-works.md +++ b/docs/docs/how-continue-works.md @@ -2,17 +2,15 @@ ![Continue Architecture Diagram](/img/continue-architecture.png) -**TODO: Rename notebook protocol in this diagram** - ## Overview -The `Continue` library consists of a [SDK](./concepts/sdk.md), a [GUI](./concepts/gui.md), and a [Core](./concepts/core.md) that brings everything together. +The `Continue` library consists of an [SDK](./concepts/sdk.md), a [GUI](./concepts/gui.md), and a [Core](./concepts/core.md) that brings everything together. -The [SDK](./concepts/sdk.md) gives you access to tools (e.g. open a directory, edit a file, call a model, etc), which you can use when defining how a step should work and composing them with other steps. +The [SDK](./concepts/sdk.md) gives you access to the tools (e.g. open a directory, edit a file, call a model, etc.) needed to define steps that integrate LLMs into your IDE. -The [GUI](./concepts/gui.md) enables you to guide steps and makes everything transparent, so you can review all steps that were automated, giving you the opportunity to undo and rerun any that ran incorrectly. +The [GUI](./concepts/gui.md) lets you transparently review every automated step, providing the opportunity to undo and rerun any that ran incorrectly. -The [Core](./concepts/core.md) connects the SDK and GUI with the IDE (i.e. in VS Code, a web browser, etc), enabling the steps to make changes to your code and accelerate your software development workflows. +The [Core](./concepts/core.md) holds the main event loop, responsible for connecting IDE, SDK, and GUI and deciding which steps to take next. ## Details @@ -20,9 +18,9 @@ The [Core](./concepts/core.md) connects the SDK and GUI with the IDE (i.e. in VS - Continue connects any code editor (primarily VS Code right now) to a server (the Continue server) that can take actions in the editor in accordance with defined recipes at the request of a user through the GUI - What this looks like: - - The Continue VS Code extension runs the ContinueIdeProtocol, launches the Continue Python server in the background, and opens the Continue GUI in a side-panel. - - The Continue server is the brain, communication center, and source of truth, interacting with VS Code through the ContinueIdeProtocol and with the GUI through the NotebookProtocol. - - Communication between the extension and GUI happens through the Continue server. + - The Continue VS Code extension runs the ContinueIdeProtocol, launches the Continue Python server in the background, and opens the Continue GUI in a side-panel. + - The Continue server is the brain, communication center, and source of truth, interacting with VS Code through the ContinueIdeProtocol and with the GUI through the NotebookProtocol. + - Communication between the extension and GUI happens through the Continue server. - When you type a natural language command in the GUI, this is sent to the Continue server, where the `Autopilot` class takes action, potentially using the ContinueIdeProtocol to request actions be taken in the IDE, and then updates the GUI to display the new history. - `core` directory contains major concepts - This includes Autopilot, Policy, SDK (all in their own files so far) @@ -36,4 +34,4 @@ The [Core](./concepts/core.md) connects the SDK and GUI with the IDE (i.e. in VS - `models` contains all the Pydantic models and `generate_json_schema.py`, a script that converts them to JSONSchema .json files in `schema/json` - `server` runs the servers that communicate with a) the React app (`notebook.py`) and b) the IDE (`ide.py`) - `ide_protocol.py` is just the abstract version of what is implemented in `ide.py`, and `main.py` runs both `notebook.py` and `ide.py` as a single FastAPI server. This is the entry point to the Continue server, and acts as a bridge between IDE and React app -- We use OpenAPI/JSONSchema to define types so that it's really easy to bring them across language barriers. Use Pydantic types, then run `poetry run typegen` from the root of continuedev folder to generate JSONSchema json files in the `schema/json` folder. Then `npm run typegen` from the extension folder generates the types that are used within the extension. \ No newline at end of file +- We use OpenAPI/JSONSchema to define types so that it's really easy to bring them across language barriers. Use Pydantic types, then run `poetry run typegen` from the root of continuedev folder to generate JSONSchema json files in the `schema/json` folder. Then `npm run typegen` from the extension folder generates the types that are used within the extension. diff --git a/docs/docs/install.md b/docs/docs/install.md index b9916b73..6dce5da4 100644 --- a/docs/docs/install.md +++ b/docs/docs/install.md @@ -20,8 +20,11 @@ Please follow the [README instructions in the repo](https://github.com/continued ## Next steps -Now that you have installed the VS Code extension, you should go through the walkthroughs: -- How to [use the GUI](./walkthroughs/use-the-gui.md) -- How to [use a recipe](./walkthroughs/use-a-recipe.md) -- How to [create a recipe](./walkthroughs/create-a-recipe.md) -- How to [share a recipe](./walkthroughs/share-a-recipe.md) \ No newline at end of file +Now that you have installed the VS Code extension, you can learn more with our walkthroughs: + +How to... + +- [Use the GUI](./walkthroughs/use-the-gui.md) +- [Invoke a recipe](./walkthroughs/use-a-recipe.md) +- [Create a recipe](./walkthroughs/create-a-recipe.md) +- [Share a recipe](./walkthroughs/share-a-recipe.md) diff --git a/docs/docs/intro.md b/docs/docs/intro.md index e9f1dffe..5d73a256 100644 --- a/docs/docs/intro.md +++ b/docs/docs/intro.md @@ -2,21 +2,19 @@ ![continue-cover-logo](/img/continue-cover-logo.png) -**TODO: Nate's review of this page** +## Quickstart + +1. Try out `Continue` in the [GitHub Codespaces Demo](./getting-started.md) +2. Install `Continue` packaged as a [VS Code extension](./install.md) ## What is `Continue`? -**`Continue` is the open-source library for accelerating your use of LLMs while coding.** +**`Continue` is the open-source library for accelerating software development with language models** -You define the scenarios where Large Language Models ([LLMs](./concepts/llm.md)) like GPT-4 and StarCoder should act as an autopilot that helps you complete software development tasks. You use [recipes](./concepts/recipe.md) created by others to automate more steps in your development workflows. If a [recipe](./concepts/recipe.md) does not exist or work exactly like you want, you can use the [Continue SDK](./concepts/sdk.md) to create custom [steps](./concepts/step.md) and compose them into personalized [recipes](./concepts/recipe.md). Whether you are using a [recipe](./concepts/recipe.md) created by yourself or someone else, you can also review, reverse, and rerun [steps](./concepts/step.md) with the [Continue GUI](./concepts/gui.md), which helps you guide the work done by LLMs and learn when to use and trust them. +You define the scenarios where Large Language Models ([LLMs](./concepts/llm.md)) like GPT-4 and StarCoder should act as an autopilot, helping you complete software development tasks. You use [recipes](./concepts/recipe.md) created by others to automate more steps in your workflows. If a [recipe](./concepts/recipe.md) does not exist or work exactly like you want, you can use the [Continue SDK](./concepts/sdk.md) to create custom [steps](./concepts/step.md) and compose them into personalized [recipes](./concepts/recipe.md). Whether you are using a [recipe](./concepts/recipe.md) created by yourself or someone else, you can review, reverse, and rerun [steps](./concepts/step.md) with the [Continue GUI](./concepts/gui.md), which helps you guide the work done by LLMs and learn when to use and trust them. ## Why do developers use `Continue`? -Many developers have begun to use models like [GPT-4](https://openai.com/research/gpt-4) through [ChatGPT](https://openai.com/blog/chatgpt) while coding; however, this is quite a painful experience because of how much manual copy, paste, and editing is required to construct context for LLMs and then incorporate the generations from LLMs. Many other developers prefer to use open source models or work at organizations where they are unable to use ChatGPT, so they are using [StarCoder](https://huggingface.co/blog/starcoder) [Chat](https://huggingface.co/chat/) and are running into the same issues. - -`Continue` eliminates the manual copy, paste, and editing required when using LLMs while coding. This accelerates how developers build, ship, and maintain software, while giving them the control to define when LLMs should take actions and the confidence to trust LLMs. In short, it enables developers to do what they have always done: work together to create better and better abstractions that make it easier and easier to automate the repetitive work that people want computers to do. +Many developers have begun to use models like [GPT-4](https://openai.com/research/gpt-4) through [ChatGPT](https://openai.com/blog/chatgpt) while coding; however, the experience is painful because of how much manual copying, pasting, and editing is required to supply them with context and transfer the generated solutions to your codebase. `Continue` eliminates this pain by deeply integrating LLMs into your IDE. -## Getting started - -1. Try out `Continue` in the [GitHub Codespaces Demo](./getting-started.md) -2. Install `Continue` packaged as a [VS Code extension](./install.md) \ No newline at end of file +`Continue` accelerates how developers build, ship, and maintain software, while giving them the control to define when LLMs should take actions and the confidence to trust LLMs. In short, it enables developers to do what they have always done: work together to create better and better abstractions that make it easier and easier to automate the repetitive work that people want computers to do. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 7ca00f8d..c2991841 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -1,49 +1,49 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion -const lightCodeTheme = require('prism-react-renderer/themes/github'); -const darkCodeTheme = require('prism-react-renderer/themes/dracula'); +const lightCodeTheme = require("prism-react-renderer/themes/github"); +const darkCodeTheme = require("prism-react-renderer/themes/dracula"); /** @type {import('@docusaurus/types').Config} */ const config = { - title: 'Continue', - tagline: 'the open-source library for accelerating your use of LLMs while coding', - favicon: 'img/favicon.ico', + title: "Continue", + tagline: + "the open-source library for accelerating software development with language models", + favicon: "img/favicon.ico", // Set the production url of your site here - url: 'https://continue.dev', + url: "https://continue.dev", // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' - baseUrl: '/', + baseUrl: "/", // GitHub pages deployment config. // If you aren't using GitHub pages, you don't need these. - organizationName: 'continuedev', // Usually your GitHub org/user name. - projectName: 'continue', // Usually your repo name. + organizationName: "continuedev", // Usually your GitHub org/user name. + projectName: "continue", // Usually your repo name. - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", // Even if you don't use internalization, you can use this field to set useful // metadata like html lang. For example, if your site is Chinese, you may want // to replace "en" with "zh-Hans". i18n: { - defaultLocale: 'en', - locales: ['en'], + defaultLocale: "en", + locales: ["en"], }, presets: [ [ - 'classic', + "classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { - sidebarPath: require.resolve('./sidebars.js'), - editUrl: - 'https://github.com/continuedev/continue/', + sidebarPath: require.resolve("./sidebars.js"), + editUrl: "https://github.com/continuedev/continue/", }, theme: { - customCss: require.resolve('./src/css/custom.css'), + customCss: require.resolve("./src/css/custom.css"), }, }), ], @@ -53,54 +53,54 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card - image: 'img/docusaurus-social-card.jpg', + image: "img/docusaurus-social-card.jpg", navbar: { - title: 'Continue', + title: "Continue", logo: { - alt: 'My Site Logo', - src: 'img/logo.svg', + alt: "My Site Logo", + src: "img/logo.svg", }, items: [ { - type: 'docSidebar', - sidebarId: 'docsSidebar', - position: 'left', - label: 'Docs', + type: "docSidebar", + sidebarId: "docsSidebar", + position: "left", + label: "Docs", }, { - href: 'https://github.com/continuedev/continue', - label: 'GitHub', - position: 'right', + href: "https://github.com/continuedev/continue", + label: "GitHub", + position: "right", }, ], }, footer: { - style: 'dark', + style: "dark", links: [ { - title: 'Docs', + title: "Docs", items: [ { - label: 'Introduction', - to: '/docs/intro', + label: "Introduction", + to: "/docs/intro", }, ], }, { - title: 'Community', + title: "Community", items: [ { - label: 'Twitter', - href: 'https://twitter.com/continuedev', + label: "Twitter", + href: "https://twitter.com/continuedev", }, ], }, { - title: 'More', + title: "More", items: [ { - label: 'GitHub', - href: 'https://github.com/continuedev/continue', + label: "GitHub", + href: "https://github.com/continuedev/continue", }, ], }, @@ -114,4 +114,4 @@ const config = { }), }; -module.exports = config; \ No newline at end of file +module.exports = config; diff --git a/docs/src/components/HomepageFeatures/index.js b/docs/src/components/HomepageFeatures/index.js index 764ca891..0c5d8272 100644 --- a/docs/src/components/HomepageFeatures/index.js +++ b/docs/src/components/HomepageFeatures/index.js @@ -1,43 +1,44 @@ -import React from 'react'; -import clsx from 'clsx'; -import styles from './styles.module.css'; +import React from "react"; +import clsx from "clsx"; +import styles from "./styles.module.css"; const FeatureList = [ { - title: 'Define the scenarios where LLMs should step into accelerate you', - Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, + title: "Tell LLMs when to step in", + Svg: require("@site/static/img/undraw_docusaurus_mountain.svg").default, description: ( <> - Enable LLMs to be an autopilot for parts of your software development tasks - by leveraging recipes created by others in the workflows you use when coding + Seamlessly put your repetitive software development tasks on autopilot + by leveraging recipes created by others ), }, { - title: 'Create your own workflows to show LLMs exactly what to do', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + title: "Write your own recipes", + Svg: require("@site/static/img/undraw_docusaurus_tree.svg").default, description: ( <> - Use the Continue SDK to create your own custom steps and compose them into - personalized recipes, so that using LLMs seamlessly fits into your workflows + Use the Continue SDK to create your own custom steps and compose them + into personalized recipes, guiding LLMs through common sequences of + tasks ), }, { - title: 'Guide the steps taken by LLMs to learn when to use and trust them', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + title: "Wield LLMs with confidence", + Svg: require("@site/static/img/undraw_docusaurus_react.svg").default, description: ( <> - Use the Continue GUI to review, reverse, and rerun steps or even entire recipes, - incorporating LLMs with confidence into your software development workflows + Use the Continue GUI to review, reverse, and rerun steps or even entire + recipes, allowing you to build trust in LLMs ), }, ]; -function Feature({Svg, title, description}) { +function Feature({ Svg, title, description }) { return ( -
+
diff --git a/docs/static/img/continue-architecture.png b/docs/static/img/continue-architecture.png index 7a38c904..58366d8f 100644 Binary files a/docs/static/img/continue-architecture.png and b/docs/static/img/continue-architecture.png differ diff --git a/extension/README.md b/extension/README.md index 0a003145..df158440 100644 --- a/extension/README.md +++ b/extension/README.md @@ -29,7 +29,7 @@ Once Continue has code snippets to work with, it can generate a fix. Just click ### Stacktrace Parsing -Any stacktrace that appears in your VSCode terminal will be caught by us so we can immediately begin the debugging process. For small bugs that you might have quickly solved, we'll just speed up the process to be nearly instantaneous. +Any stacktrace that appears in your VS Code terminal will be caught by us so we can immediately begin the debugging process. For small bugs that you might have quickly solved, we'll just speed up the process to be nearly instantaneous. ### Generate Unit Tests and Docstrings diff --git a/extension/react-app/src/components/CodeMultiselect.tsx b/extension/react-app/src/components/CodeMultiselect.tsx index 626ae42f..c0ab9400 100644 --- a/extension/react-app/src/components/CodeMultiselect.tsx +++ b/extension/react-app/src/components/CodeMultiselect.tsx @@ -135,7 +135,7 @@ function formatFileRange( )} (lines ${rangeInFile.range.start.line + 1}-${ rangeInFile.range.end.line + 1 })`; - // +1 because VSCode Ranges are 0-indexed + // +1 because VS Code Ranges are 0-indexed } //#endregion diff --git a/extension/react-app/src/components/VSCodeFileLink.tsx b/extension/react-app/src/components/VSCodeFileLink.tsx index 6219654d..12ce5af8 100644 --- a/extension/react-app/src/components/VSCodeFileLink.tsx +++ b/extension/react-app/src/components/VSCodeFileLink.tsx @@ -1,7 +1,7 @@ import React from "react"; import { postVscMessage } from "../vscode"; -function VSCodeFileLink(props: { path: string; text?: string }) { +function VS CodeFileLink(props: { path: string; text?: string }) { return ( requirements.txt` whenever you add a new requirement. diff --git a/extension/src/README.md b/extension/src/README.md index bb10f5c8..76b96ea0 100644 --- a/extension/src/README.md +++ b/extension/src/README.md @@ -22,23 +22,23 @@ 10. Then run `npm run compile` -7. Open `src/activate.ts` file (or any TypeScript file) +11. Open `src/activate.ts` file (or any TypeScript file) -7. Press `F5` on your keyboard to start `Run and Debug` mode +12. Press `F5` on your keyboard to start `Run and Debug` mode -8. `cmd+shift+p` to look at developer console and select Continue commands +13. `cmd+shift+p` to look at developer console and select Continue commands -9. Every time you make changes to the code, you need to run `npm run compile` +14. Every time you make changes to the code, you need to run `npm run compile` -10. If you run into a "command not found" error, try running `npm run rebuild` and then `npm run compile` +15. If you run into a "command not found" error, try running `npm run rebuild` and then `npm run compile` ## Alternative: Install a packaged version -You should always have a packaged version installed in VSCode, because when Continue is broken you'll want a stable version to help you debug. There are four key commands in the `package.json`: +You should always have a packaged version installed in VS Code, because when Continue is broken you'll want a stable version to help you debug. There are four key commands in the `package.json`: 1. `npm run package` will create a .vsix file in the `build/` folder that can then be installed. It is this same file that you can share with others who want to try the extension. -2. `npm run install-extension` will install the extension to VSCode. You should then see it in your installed extensions in the VSCode sidebar. +2. `npm run install-extension` will install the extension to VS Code. You should then see it in your installed extensions in the VS Code sidebar. 3. `npm run uninstall` will uninstall the extension. You don't always have to do this thanks to the reinstall command, but can be useful when you want to do so manually. -- cgit v1.2.3-70-g09d2