Skip to content

Add Devin CLI provider - #23

Closed
ThePlenkov wants to merge 35 commits into
mainfrom
fix/devin-cli-provider
Closed

Add Devin CLI provider#23
ThePlenkov wants to merge 35 commits into
mainfrom
fix/devin-cli-provider

fix: address review comments - temp cleanup, skill prompt, and securi…

e5527b9
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jun 28, 2026 in 1m 46s

Quality Gate failed

Failed conditions
E Reliability Rating on New Code (required ≥ A)
E Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check warning on line 239 in test/providers/test_devin_cli_unit.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this attribute access on a value that can be 'None'.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ70UxHZ9O7eNe0ErgBO&open=AZ70UxHZ9O7eNe0ErgBO&pullRequest=23

Check failure on line 140 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'tempfile.mktemp' is insecure. Use 'tempfile.TemporaryFile' instead

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Oi&open=AZ8OG0ogfcE5PvQOB8Oi&pullRequest=23

Check failure on line 200 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'tempfile.mktemp' is insecure. Use 'tempfile.TemporaryFile' instead

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Ok&open=AZ8OG0ogfcE5PvQOB8Ok&pullRequest=23

Check warning on line 376 in src/cli_agent_orchestrator/backends/herdr_backend.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change this code to not log user-controlled data.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0o4fcE5PvQOB8Om&open=AZ8OG0o4fcE5PvQOB8Om&pullRequest=23

Check warning on line 720 in test/e2e/test_supervisor_orchestration.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace the unused local variable "actual_session" with "_".

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mMfcE5PvQOB8OY&open=AZ8OG0mMfcE5PvQOB8OY&pullRequest=23

Check warning on line 505 in src/cli_agent_orchestrator/services/terminal_service.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested conditional expression into an independent statement.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0nZfcE5PvQOB8Oe&open=AZ8OG0nZfcE5PvQOB8Oe&pullRequest=23

Check warning on line 326 in src/cli_agent_orchestrator/backends/herdr_backend.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change this code to not log user-controlled data.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0o4fcE5PvQOB8On&open=AZ8OG0o4fcE5PvQOB8On&pullRequest=23

Check warning on line 146 in test/providers/test_devin_cli_unit.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this attribute access on a value that can be 'None'.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ70UxHZ9O7eNe0ErgBL&open=AZ70UxHZ9O7eNe0ErgBL&pullRequest=23

Check warning on line 221 in test/providers/test_devin_cli_unit.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this attribute access on a value that can be 'None'.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ70UxHZ9O7eNe0ErgBN&open=AZ70UxHZ9O7eNe0ErgBN&pullRequest=23

Check failure on line 748 in test/e2e/test_supervisor_orchestration.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add 1 missing arguments; 'cleanup_terminal' expects 2 positional arguments.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mMfcE5PvQOB8Ob&open=AZ8OG0mMfcE5PvQOB8Ob&pullRequest=23

Check failure on line 100 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 39 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Oh&open=AZ8OG0ogfcE5PvQOB8Oh&pullRequest=23

Check warning on line 331 in src/cli_agent_orchestrator/backends/herdr_backend.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change this code to not log user-controlled data.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0o4fcE5PvQOB8Op&open=AZ8OG0o4fcE5PvQOB8Op&pullRequest=23

Check failure on line 68 in src/cli_agent_orchestrator/constants.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make sure publicly writable directories are used safely here.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0pafcE5PvQOB8Oq&open=AZ8OG0pafcE5PvQOB8Oq&pullRequest=23

Check warning on line 728 in test/e2e/test_supervisor_orchestration.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add replacement fields or use a normal string instead of an f-string.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mMfcE5PvQOB8OZ&open=AZ8OG0mMfcE5PvQOB8OZ&pullRequest=23

Check failure on line 431 in src/cli_agent_orchestrator/services/status_monitor.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 32 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0nrfcE5PvQOB8Of&open=AZ8OG0nrfcE5PvQOB8Of&pullRequest=23

Check warning on line 287 in src/cli_agent_orchestrator/backends/herdr_backend.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change this code to not log user-controlled data.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0o4fcE5PvQOB8Oo&open=AZ8OG0o4fcE5PvQOB8Oo&pullRequest=23

Check failure on line 50 in web/e2e/devin-provider.spec.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add at least one assertion to this test case.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mqfcE5PvQOB8Od&open=AZ8OG0mqfcE5PvQOB8Od&pullRequest=23

Check warning on line 740 in test/e2e/test_supervisor_orchestration.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add replacement fields or use a normal string instead of an f-string.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mMfcE5PvQOB8Oa&open=AZ8OG0mMfcE5PvQOB8Oa&pullRequest=23

Check failure on line 42 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal r"^[\s]*#[\s]*$" 3 times.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Og&open=AZ8OG0ogfcE5PvQOB8Og&pullRequest=23

Check failure on line 163 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'tempfile.mktemp' is insecure. Use 'tempfile.TemporaryFile' instead

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Oj&open=AZ8OG0ogfcE5PvQOB8Oj&pullRequest=23

Check failure on line 24 in web/e2e/devin-provider.spec.ts

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add at least one assertion to this test case.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0mqfcE5PvQOB8Oc&open=AZ8OG0mqfcE5PvQOB8Oc&pullRequest=23

Check failure on line 161 in src/cli_agent_orchestrator/providers/devin_cli.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Change this code to not construct the path from user-controlled data.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ8OG0ogfcE5PvQOB8Ol&open=AZ8OG0ogfcE5PvQOB8Ol&pullRequest=23

Check warning on line 155 in test/providers/test_devin_cli_unit.py

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this attribute access on a value that can be 'None'.

See more on https://sonarcloud.io/project/issues?id=ThePlenkov_cli-agent-orchestrator&issues=AZ70UxHZ9O7eNe0ErgBM&open=AZ70UxHZ9O7eNe0ErgBM&pullRequest=23