-
Notifications
You must be signed in to change notification settings - Fork 46
feat(cursor-cli): add Cursor CLI module #309
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
base: main
Are you sure you want to change the base?
Conversation
…CP settings, model/force) - Runs `cursor-agent` directly (no AgentAPI); interactive chat by default - Supports non-interactive prints (-p) with output-format, model (-m), force (-f) - Merges MCP settings into ~/.cursor/settings.json - Installs via npm (uses nvm if needed); terraform tests added
…only - mcp_json -> <folder>/.cursor/mcp.json (optional) - rules_files map -> <folder>/.cursor/rules/* (optional); link rules docs - always -p; default output_format=json; README updates
…itional_settings; simplify non-interactive run
…anup; remove unused options
- Introduced variables for optional pre-install and post-install scripts in the module. - Updated the main script to execute these scripts if provided. - Enhanced tests to validate the embedding of the new scripts.
…and add post-install wait script - Modified main.tf to pass the folder variable to pre-install and post-install scripts. - Added a new post_install_script in README to wait for the repository to be ready before proceeding.
- Removed the `-p` argument and the conditional for `OUTPUT_FORMAT` from the script to streamline execution and avoid unnecessary options.
….sh script - Reintroduced the `-p` argument and the conditional for `OUTPUT_FORMAT` to enhance script functionality and allow for more flexible execution options.
…t arguments - Eliminated the `output_format` variable from main.tf and removed associated logic from start.sh to simplify the script and reduce complexity.
Co-authored-by: DevCats <christofer@coder.com>
sorry forgot this is still in draft |
working towards adding support for cursor in agentapi. |
Waiting on coder/agentapi#54 to merge and then this LGTM |
@matifali added support for agentapi, do we still want to keep the support for coder_script in here ? |
I think we should support 2 modes one where the session is interactive through AgnetAPi, the other un interactive session where the agent starts working with the first prompt there are options I will let you choose if we need a coder_script here. |
ai_prompt = data.coder_parameter.ai_prompt.value | ||
# Minimal MCP server (writes `~/.cursor/mcp.json`): | ||
mcp_json = jsonencode({ |
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.
Let's rename this mcp
to match with Cursor IDE config.
variable "enable_agentapi" { | ||
type = bool | ||
description = "Whether to enable the AgentAPI for Cursor CLI." | ||
default = false |
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.
Shouldn't this be set to true by default? What's the behavior in other modules?
sensitive = true | ||
} | ||
|
||
variable "mcp_json" { |
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.
Rename to mcp
.
|
||
variable "mcp_json" { | ||
type = string | ||
description = "Workspace-specific MCP JSON to write to ~/.cursor/mcp.json. See https://docs.cursor.com/en/context/mcp#using-mcp-json" |
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.
Update description here and in script/tests to reflect we are soing it for project now instead of global.
|
||
variable "rules_files" { | ||
type = map(string) | ||
description = "Optional map of rule file name to content. Files will be written to ~/.cursor/rules/<name>. See https://docs.cursor.com/en/context/rules#project-rules" |
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.
Same. Update to say project rules.
run_on_start = true | ||
} | ||
|
||
resource "coder_app" "cursor_cli" { |
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.
I think we can remove this app as we have an agent api.
This also wasn't very useful. WDYT from a user perspective?
Summary
registry/coder-labs/modules/cursor-cli
to run Cursor Agent CLI directly (no AgentAPI)Test plan
cursor-agent
is on PATH or set install_cursor_cli=true