From a6f030420f436050db089044eff536db2adb2f13 Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Wed, 18 Jun 2025 13:48:17 -0700 Subject: [PATCH 1/3] programming principles rule --- .continue/rules/programming-principles.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .continue/rules/programming-principles.md diff --git a/.continue/rules/programming-principles.md b/.continue/rules/programming-principles.md new file mode 100644 index 000000000..0485f4f68 --- /dev/null +++ b/.continue/rules/programming-principles.md @@ -0,0 +1,6 @@ +--- +name: Programming principles +description: Guidelines for coding fundamentals in this project +--- + +Use functional programming paradigms whenever possible. Modifying existing classes or creating singletons where needed is acceptable. but otherwise, use functions. From a4c5a489e288025a4452a6d6e8f0991ec8ed0eba Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Thu, 19 Jun 2025 19:35:19 -0700 Subject: [PATCH 2/3] update unit testing rules --- .continue/rules/unit-testing-rules.yaml | 30 ++++++++++++------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/.continue/rules/unit-testing-rules.yaml b/.continue/rules/unit-testing-rules.yaml index ec22e9467..f846986c2 100644 --- a/.continue/rules/unit-testing-rules.yaml +++ b/.continue/rules/unit-testing-rules.yaml @@ -6,25 +6,23 @@ rules: rule: >- For unit testing in this project: + 1. The project uses Vitest and Jest for testing. Prefer Vitest - 1. The project uses Jest as the testing framework + 2. Run tests from within the specific package directory (e.g., `cd core && ..` - 2. Run tests using `npm test` from within the specific package/module - directory + 3. For vitest tests, + - Test files follow the pattern `*.vitest.ts` + - Run tests using `vitest` from within the specific package/module + directory: `cd [directory] && vitest -- [test file path]` - 3. Command structure: `cd [directory] && npm test -- [test file path]` + 4. For jest tests, + - Test files follow the pattern `*.test.ts` + - Run tests using `npm test` from within the specific package/module + directory: `cd [directory] && npm test -- [test file path]` + - The test script uses experimental VM modules via NODE_OPTIONS flag - 4. The test script uses experimental VM modules via NODE_OPTIONS flag - - 5. Test files follow the pattern `*.test.ts` - - 6. Tests must import Jest with `import { jest } from "@jest/globals";` - - 7. Run tests from within the specific package directory (e.g., `cd core` - for core module tests) - - 8. Write tests as top-level `test()` functions - DO NOT use `describe()` + 5. For both + - Write tests as top-level `test()` functions - DO NOT use `describe()` blocks - - 9. Include the function name being tested in the test description for + - Include the function name being tested in the test description for clarity From b7119ddb64857d9eb518e9806a0fd7004b4bb992 Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Mon, 23 Jun 2025 10:11:53 -0700 Subject: [PATCH 3/3] rules for vs code and navigating user requests --- .continue/rules/navigating-responses.md | 4 ++++ extensions/vscode/rules.md | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 .continue/rules/navigating-responses.md create mode 100644 extensions/vscode/rules.md diff --git a/.continue/rules/navigating-responses.md b/.continue/rules/navigating-responses.md new file mode 100644 index 000000000..dadbd0f80 --- /dev/null +++ b/.continue/rules/navigating-responses.md @@ -0,0 +1,4 @@ +If the user's request is vague and you don't have enough information to confidently answer, you can either + +- In Chat OR Agent mode, stop and ask questions to clarify before proceeding +- In Agent mode, use tools to discover more information, starting with the glob/grep tools if available. diff --git a/extensions/vscode/rules.md b/extensions/vscode/rules.md new file mode 100644 index 000000000..865f0dac5 --- /dev/null +++ b/extensions/vscode/rules.md @@ -0,0 +1,6 @@ +The `extensions/vscode` folder contains code for the "Continue" VS Code Extension. Continue is a coding assistant extension which extends IDE functionality with AI. +Core IDE functionality, such as reading files, is implemented using the `VSCodeIDE` class. Code to enable editing/diff streaming into the editor, code suggestion autocompletion, and more can also be found in this directory. +Shared code that has abstract logic for the extension is in `core/`. Avoid importing code from `core/` directly where possible. Core is designed to be bundalable as a binary. Use `core.invoke` to send messages to the + +- see `core/protocol/core.ts` for a list of commands VS Code can post/request to Core +- see `core/portocol/ide.ts` for a list of commands/message types core can post/request to VS Code