# Code Mate Qoder

Run the Qoder CLI non-interactively with structured output.

- Repository: https://github.com/CherryHQ/cherry-studio (53164 stars)
- Category: Engineering
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add CherryHQ/cherry-studio --skill code-mate-qoder -g -a claude-code -y`
Codex: `npx skills add CherryHQ/cherry-studio --skill code-mate-qoder -g -a codex -y`
Cursor: `npx skills add CherryHQ/cherry-studio --skill code-mate-qoder -g -a cursor -y`
Gemini CLI: `npx skills add CherryHQ/cherry-studio --skill code-mate-qoder -g -a gemini-cli -y`

## Description

Run the Qoder CLI non-interactively with structured output. Use when the user asks to delegate a coding task to Qoder.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Qoder CN CLI

## Run

1. Set the Bash working directory to the exact project the user named and set a finite timeout, normally 10 minutes.
2. Check availability with `command -v qoderclicn`. If it is missing, stop and ask the user to install Qoder CLI in Code Mate.
3. Run one stateless task:

```bash
qoderclicn -p "<prompt>" -o json --no-session-persistence
```

Code Mate installs the CN executable `qoderclicn`, not `qoder`. Pass the prompt as one quoted argument. Parse the JSON response and check `is_error`; published exit-code behavior is incomplete, so a zero exit alone is not success. Never start the interactive UI or a login flow.

## Authentication And Permissions

If Qoder reports missing authentication, trust, model, or provider configuration, stop and ask the user to configure Qoder CLI in Code Mate. Never request, read, print, or copy credentials.

Headless mode denies permissions that would require asking. Keep that default for analysis. Only when the user explicitly requests workspace changes may the command select the narrowest non-default permission mode, and only after the target directory is trusted through Code Mate.

Example: ask Qoder to review a named file without editing, run the command above, and accept the result only when `is_error` is false.

