-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add a command-line cline #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Reviewed everything up to e341b63 in 1 minute and 6 seconds
More details
- Looked at
936
lines of code in9
files - Skipped
2
files when reviewing. - Skipped posting
4
drafted comments based on config settings.
1. cli/src/api/providers/openrouter.ts:30
- Draft comment:
fetch
is used but not imported. Ensurefetch
is available in the environment or import it explicitly. - Reason this comment was not posted:
Comment did not seem useful.
2. cli/src/tools/index.ts:76
- Draft comment:
fs.readdir
does not support arecursive
option. Consider implementing a recursive directory traversal manually. This comment also applies to thesearchFiles
function. - Reason this comment was not posted:
Marked as duplicate.
3. cli/src/api/providers/openrouter.ts:17
- Draft comment:
Consider using async/await consistently for better readability and maintainability, as per our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Comment looked like it was already resolved.
4. cli/src/tools/index.ts:13
- Draft comment:
Prefer usingunknown
overany
for error handling to enforce type-checking before usage, as per our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d5818051ae9cefd92c3aac2b - Reason this comment was not posted:
Confidence changes required:70%
The code usesany
type in several places, such as in error handling. According to our Development Standards,unknown
should be preferred overany
to enforce type-checking before usage.
Workflow ID: wflow_kTRmKqnXKvE5Gu5l
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
cli/src/tools/index.ts
Outdated
@@ -0,0 +1,122 @@ | |||
import { exec } from 'child_process'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using exec
can lead to command injection vulnerabilities. Consider using execFile
or properly sanitize inputs.
cli/src/tools/index.ts
Outdated
): Promise<ToolResponse> { | ||
try { | ||
const fullPath = path.join(workingDir, searchPath); | ||
const files = await fs.readdir(fullPath, { recursive: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fs.readdir
does not support a recursive
option. Consider implementing a recursive directory traversal manually.
const files = await fs.readdir(fullPath, { recursive: true }); | |
const files = await fs.readdir(fullPath); |
cli/src/index.ts
Outdated
@@ -0,0 +1,94 @@ | |||
#!/usr/bin/env node |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure that unit tests and integration tests are included for the new functionality, with at least 80% test coverage, as per our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180f7b224d6db54dab6b5
cli/src/core/StandaloneAgent.ts
Outdated
// Only execute one tool at a time | ||
break; | ||
|
||
} catch (error: any) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implement centralized error handling and structured logging for consistent error responses and easier debugging, as per our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180bc982fd2d560354e47
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 485c7e5 in 1 minute and 10 seconds
More details
- Looked at
1058
lines of code in13
files - Skipped
1
files when reviewing. - Skipped posting
8
drafted comments based on config settings.
1. cli/src/tools/index.ts:76
- Draft comment:
fs.readdir
does not support arecursive
option. Consider using a library likerecursive-readdir
or implement a custom recursive function to list files. - Reason this comment was not posted:
Marked as duplicate.
2. cli/src/tools/index.ts:11
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Comment was not on a valid diff hunk.
3. cli/src/tools/index.ts:21
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
4. cli/src/tools/index.ts:31
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
5. cli/src/tools/index.ts:58
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
6. cli/src/tools/index.ts:76
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
7. cli/src/tools/index.ts:87
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
8. cli/src/tools/index.ts:112
- Draft comment:
Consider using async/await instead of .then() for handling promises. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_YXuc2j2PsP77lv5O
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
cli/src/tools/index.ts
Outdated
): Promise<ToolResponse> { | ||
try { | ||
const fullPath = path.join(workingDir, searchPath); | ||
const files = await fs.readdir(fullPath, { recursive: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fs.readdir
does not support a recursive
option. Consider using a library like recursive-readdir
or implement a custom recursive function to list files.
cli/src/tools/index.ts
Outdated
|
||
const execAsync = promisify(exec); | ||
|
||
export async function executeCommand(command: string): Promise<ToolResponse> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Be cautious with exec
as it can lead to command injection vulnerabilities. Consider using execFile
or validating/sanitizing input to mitigate risks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 4afd2f7 in 1 minute and 23 seconds
More details
- Looked at
1059
lines of code in13
files - Skipped
1
files when reviewing. - Skipped posting
9
drafted comments based on config settings.
1. cli/src/tools/index.ts:76
- Draft comment:
fs.readdir
does not support arecursive
option. Consider using a library likerecursive-readdir
or implement a custom recursive function to list files. - Reason this comment was not posted:
Marked as duplicate.
2. cli/src/tools/index.ts:13
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Comment was not on a valid diff hunk.
3. cli/src/index.ts:21
- Draft comment:
Ensure that the code follows the Airbnb JavaScript style guide as a baseline. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180f3b596d34d01891cb5 - Reason this comment was not posted:
Confidence changes required:50%
The codebase should follow the Airbnb JavaScript style guide as a baseline, which is part of our Development Standards.
4. cli/src/api/index.ts:7
- Draft comment:
Ensure that the code is structured in a modular way, grouping related functionalities into separate modules. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180ba8b24f9cf65d7d4c5 - Reason this comment was not posted:
Confidence changes required:50%
The code should be structured in a modular way, grouping related functionalities into separate modules. This is part of our Development Standards.
5. cli/src/tools/index.ts:9
- Draft comment:
Use helper functions or shared utilities for common operations to reduce redundancy. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d5818094a05ef707e188c0d5 - Reason this comment was not posted:
Confidence changes required:50%
The code should use helper functions or shared utilities for common operations to reduce redundancy. This is part of our Development Standards.
6. cli/src/core/StandaloneAgent.ts:25
- Draft comment:
Prioritize clean, readable code over excessive comments. Use meaningful variable and function names so the intent is clear. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d5818061a283e7331f2c5f9b - Reason this comment was not posted:
Confidence changes required:50%
The code should prioritize clean, readable code over excessive comments. This is part of our Development Standards.
7. cli/src/api/providers/openrouter.ts:122
- Draft comment:
Handle asynchronous errors properly using try/catch or .catch() for promises. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180bc982fd2d560354e47 - Reason this comment was not posted:
Confidence changes required:50%
The code should handle asynchronous errors properly using try/catch or .catch() for promises. This is part of our Development Standards.
8. cli/package.json:32
- Draft comment:
Ensure ESLint and Prettier are set up for enforcing code style rules. These tools should run automatically on every commit via pre-commit or pre-push hooks. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581807bad59cec0aa9df8d0 - Reason this comment was not posted:
Confidence changes required:50%
The code should ensure ESLint and Prettier are set up for enforcing code style rules. This is part of our Development Standards.
9. cli/src/index.ts:20
- Draft comment:
Use environment variables securely (e.g., via dotenv). Do not store API keys or credentials in source control. This is part of our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581808db24aebc392f55525 - Reason this comment was not posted:
Confidence changes required:50%
The code should use environment variables securely, as per our Development Standards.
Workflow ID: wflow_ZFmyTqyzZOOKamMA
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
cli/src/tools/index.ts
Outdated
): Promise<ToolResponse> { | ||
try { | ||
const fullPath = path.join(workingDir, searchPath); | ||
const files = await fs.readdir(fullPath, { recursive: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fs.readdir
does not support a recursive
option. Consider using a library like recursive-readdir
or implement a custom recursive function to list files.
cli/src/tools/index.ts
Outdated
const content = await fs.readFile(fullPath, 'utf8'); | ||
|
||
// Basic regex patterns for common code definitions | ||
const patterns = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using regex to parse JavaScript code can be unreliable. Consider using a JavaScript parser like acorn
or esprima
for more accurate code analysis.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 459851e in 1 minute and 33 seconds
More details
- Looked at
1105
lines of code in13
files - Skipped
1
files when reviewing. - Skipped posting
9
drafted comments based on config settings.
1. cli/src/tools/index.ts:76
- Draft comment:
fs.readdir
does not support arecursive
option. Consider using a library likerecursive-readdir
or implement a custom recursive function to list files. - Reason this comment was not posted:
Marked as duplicate.
2. cli/src/tools/index.ts:11
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Comment looked like it was already resolved.
3. cli/src/tools/index.ts:21
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
4. cli/src/tools/index.ts:31
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
5. cli/src/tools/index.ts:58
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
6. cli/src/tools/index.ts:76
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
7. cli/src/tools/index.ts:87
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
8. cli/src/tools/index.ts:108
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
9. cli/src/tools/index.ts:112
- Draft comment:
Using async/await makes asynchronous code more readable and easier to maintain than chaining .then() calls. Please refactor this to use async/await. This is from our Development Standards: Development Standards. - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_VoL8yntiwE5UBszV
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
cli/src/tools/index.ts
Outdated
): Promise<ToolResponse> { | ||
try { | ||
const fullPath = path.join(workingDir, searchPath); | ||
const files = await fs.readdir(fullPath, { recursive: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fs.readdir
does not support a recursive
option. Consider using a library like recursive-readdir
or implement a custom recursive function to list files.
const files = await fs.readdir(fullPath, { recursive: true }); | |
const files = await fs.readdir(fullPath); |
cli/src/tools/index.ts
Outdated
import { promisify } from 'util'; | ||
import type { ToolResponse } from '../types.js'; | ||
|
||
const execAsync = promisify(exec); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Be cautious with execAsync
as it can lead to command injection vulnerabilities. Consider validating or sanitizing the input command to mitigate this risk.
e341b63
to
e23ec68
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on e23ec68 in 1 minute and 1 seconds
More details
- Looked at
960
lines of code in9
files - Skipped
2
files when reviewing. - Skipped posting
2
drafted comments based on config settings.
1. cli/src/tools/index.ts:76
- Draft comment:
Thefs.readdir
method does not support arecursive
option. Consider using a library likerecursive-readdir
or implementing a custom recursive function to list files. - Reason this comment was not posted:
Marked as duplicate.
2. cli/src/tools/index.ts:11
- Draft comment:
Consider using async/await instead of .then() for handling promises in theexecuteCommand
function. This makes the code more readable and is recommended by our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Comment looked like it was already resolved.
Workflow ID: wflow_3MYseFYfJmc8h1cy
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
cli/src/tools/index.ts
Outdated
): Promise<ToolResponse> { | ||
try { | ||
const fullPath = path.join(workingDir, searchPath); | ||
const files = await fs.readdir(fullPath, { recursive: true }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fs.readdir
method does not support a recursive
option. Consider using a library like recursive-readdir
or implementing a custom recursive function to list files.
const files = await fs.readdir(fullPath, { recursive: true }); | |
const files = await fs.readdir(fullPath); |
cli/src/index.ts
Outdated
@@ -0,0 +1,94 @@ | |||
#!/usr/bin/env node |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure that unit tests (and integration tests, where appropriate) are included for the new functionality. The minimum acceptable test coverage is 80%. Tests should be deterministic and isolated, and data-testid attributes should be included on all UI elements under test. This is from our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180f7b224d6db54dab6b5
cli/src/api/providers/openrouter.ts
Outdated
totalCost: this.calculateCost(inputTokens, outputTokens) | ||
}; | ||
|
||
} catch (error: any) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid using 'any' type. Consider using 'unknown' instead, as it forces type-checking before usage. This is from our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d5818051ae9cefd92c3aac2b
} catch (error: any) { | |
} catch (error: unknown) { |
ac86ccd
to
f6e6fca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Reviewed everything up to 1c471bd in 1 minute and 53 seconds
More details
- Looked at
1186
lines of code in12
files - Skipped
0
files when reviewing. - Skipped posting
8
drafted comments based on config settings.
1. cli/api/providers/openrouter.ts:30
- Draft comment:
Consider making the API endpoint URL configurable instead of hardcoding it. This will allow for easier testing and flexibility in different environments. - Reason this comment was not posted:
Confidence changes required:50%
The code incli/api/providers/openrouter.ts
uses a hardcoded URL for the API endpoint. This could be improved by making it configurable, allowing for easier testing and flexibility in different environments.
2. cli/tools/mod.ts:97
- Draft comment:
Usingsh
for command execution may not be compatible with non-Unix systems. Consider using a cross-platform approach to handle command execution. - Reason this comment was not posted:
Confidence changes required:50%
The code incli/tools/mod.ts
uses a shell commandsh
to execute commands. This might not be compatible with non-Unix systems like Windows, wheresh
might not be available. It would be better to handle this in a cross-platform manner.
3. cli/mod.ts:73
- Draft comment:
Consider providing more informative error messages or guidance on how to grant the necessary permissions when they are denied. - Reason this comment was not posted:
Confidence changes required:50%
The code incli/mod.ts
checks for permissions but does not handle the case where permissions are denied. It would be better to provide a more informative error message or guidance on how to grant the necessary permissions.
4. cli/core/StandaloneAgent.ts:128
- Draft comment:
Consider removing thebreak
statement to allow processing of all tools in the message instead of stopping after the first one. - Reason this comment was not posted:
Confidence changes required:50%
The code incli/core/StandaloneAgent.ts
breaks out of the loop after executing a tool, which might not be the intended behavior if multiple tools are specified in the message. It should continue processing all tools in the message.
5. cli/api/providers/openrouter.ts:17
- Draft comment:
Consider using async/await consistently throughout the codebase instead of mixing it with promise chains. This will make the asynchronous code more readable and easier to maintain. Refer to our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581809f9af3fdba09412ef6 - Reason this comment was not posted:
Comment looked like it was already resolved.
6. cli/README.md:1
- Draft comment:
Ensure that unit tests or integration tests are included for the new functionality. The minimum acceptable test coverage is 80%. Tests should be deterministic and isolated, using data-testid attributes for UI elements under test. Refer to our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d58180f7b224d6db54dab6b5 - Reason this comment was not posted:
Comment was on unchanged code.
7. cli/deno.jsonc:1
- Draft comment:
Ensure ESLint and Prettier are set up for enforcing code style rules. These tools should run automatically on every commit via pre-commit or pre-push hooks. Refer to our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d581807bad59cec0aa9df8d0 - Reason this comment was not posted:
Comment was on unchanged code.
8. cli/tools/mod.ts:1
- Draft comment:
Use helper functions or shared utilities for common operations to reduce redundancy. Repeated logic should be extracted to utility libraries or services. Refer to our Development Standards: https://www.notion.so/Development-Standards-59febcf8ead647fd9c2ec3f60c22f3df?pvs=4#11869ad2d5818094a05ef707e188c0d5 - Reason this comment was not posted:
Confidence changes required:60%
The code should use helper functions or shared utilities for common operations to reduce redundancy. This is not evident in the current codebase.
Workflow ID: wflow_6nBIkOCxckGF2oSb
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
args: readonly string[]; | ||
} | ||
|
||
// Define allowed commands and their descriptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a nice data structure for these commands. At some point we can combine with the Cline.ALLOWED_AUTO_EXECUTE_COMMANDS allowlist.
* refactor(marketplace): add installed tabs * fix: missing settings button * refactor(marketplace): better card UI * refactor(marketplace): better error message for sources * tests(marketplace): item card and source config * refactor(marketplace): colocate local states * refactor(marketplace): simplify tabs * test: marketplace view --------- Co-authored-by: elianiva <[email protected]>
* refactor(marketplace): add installed tabs * fix: missing settings button * refactor(marketplace): better card UI * refactor(marketplace): better error message for sources * tests(marketplace): item card and source config * refactor(marketplace): colocate local states * refactor(marketplace): simplify tabs * test: marketplace view --------- Co-authored-by: elianiva <[email protected]>
* refactor(marketplace): add installed tabs * fix: missing settings button * refactor(marketplace): better card UI * refactor(marketplace): better error message for sources * tests(marketplace): item card and source config * refactor(marketplace): colocate local states * refactor(marketplace): simplify tabs * test: marketplace view --------- Co-authored-by: elianiva <[email protected]>
Asked Cline to write a standalone version of itself. 🤯
Important
Introduces a standalone CLI for Cline, an AI coding assistant, with task execution capabilities using OpenRouter API and various tools.
cline
CLI tool inmod.ts
for executing tasks with AI models.OpenRouterHandler
inopenrouter.ts
for API communication.buildApiHandler
function inmod.ts
to initialize API handlers.StandaloneAgent
inStandaloneAgent.ts
manages task execution and tool usage.SYSTEM_PROMPT
inprompts.ts
defines the agent's behavior and available tools.tools/mod.ts
(e.g.,executeCommand
,readFile
).README.md
with installation, configuration, and usage instructions.deno.jsonc
includes dependencies and scripts for building and running the CLI.This description was created by
for 1c471bd. It will automatically update as commits are pushed.