← All tools

NDDev-it-com/nddev-qwen-code-app

Popularity 65 Updated Development & Build

NDDev Qwen Code setup module skeleton

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

NDDev Qwen Code Setup Manager

nddev-qwen-code-app is a dependency-free manager for a caller-selected Qwen Code home. It installs the nddev-builder content setup into an explicit absolute target, applies a selected runtime profile, and preserves unrelated authentication, model-provider, MCP, and runtime state.

This build targets the canonical Qwen Code CLI from QwenLM/qwen-code, package identity @qwen-code/qwen-code, binary qwen, version 0.21.7.

Owned state

The setup lifecycle manages:

  • settings.json
  • QWEN.md
  • AGENTS.md
  • .claude/CLAUDE.md
  • extensions/nddev-builder/
  • NDDEV-QWEN-CODE-SETUP.json

The manager never defaults to ~/.qwen; every mutating command requires --target /absolute/path. Qwen runtime state uses the same explicit target via QWENHOME=<target and QWENRUNTIMEDIR=<target/runtime.

Setup And Profiles

| Profile | Qwen approval mode | Sandbox | | --- | --- | --- | | full-auto | yolo | disabled | | safe | default | enabled |

full-auto is the default runtime profile. safe is a reduced-tool future profile, not an operating-system security boundary. balanced is recognized only as a legacy managed target state for inspection and migration.

The nddev-builder content setup installs the native Qwen extension by default. The extension uses Qwen Code's native projection:

extensions/nddev-builder/qwen-extension.json
extensions/nddev-builder/QWEN.md
extensions/nddev-builder/skills/qwen-builder-orientation/SKILL.md
extensions/nddev-builder/agents/qwen-builder-reviewer.md

No Qwen marketplace manifest is shipped because Qwen Code's current native extension package is the qwen-extension.json directory format.

QWEN.md is the authoritative managed instruction file. AGENTS.md and the NDDev-managed .claude/CLAUDE.md bridge are compatibility pointers to that authority and do not duplicate setup policy. The upstream baseline records Qwen Code's observed root CLAUDE.md compatibility separately; this manager does not install that legacy root path for current targets. Current stamps use schema 2 with explicit setupid=nddev-builder and profileid; schema-1 safe and full-auto targets remain readable for migration, while schema-1 balanced targets require an explicit profile migration.

Setup lifecycle

python3 cli-tools/nddev_qwen_code.py list
python3 cli-tools/nddev_qwen_code.py status \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py plan \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py install \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py switch --profile safe \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py restore --backup 0 \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py remove \

`plan` is non-mutating. `install` creates a missing target or updates the same
content setup/profile. `switch` is required to change profile identity. Before
changing existing managed state, the manager creates a target-bound backup under
`.<target-name>.nddev-qwen-code-backups/<slot>/`; slots `0` through `9` rotate
oldest-first.

Unmanaged target entries are not deleted. Existing `modelProviders`, `security`,
`model`, `mcpServers`, `env`, and other non-managed settings survive setup
updates and switches when the managed setup keys are intact.

## Target-owned Qwen Code CLI
python3 cli-tools/nddev_qwen_code.py software-status \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py install-cli \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py update-cli \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py remove-cli \
  --target /absolute/path/to/qwen-home
python3 cli-tools/nddev_qwen_code.py launch \
  --target /absolute/path/to/qwen-home \
  --workspace /absolute/path/to/project -- --version