DaVinci Assistant

DaVinci Assistant is an interactive command line tool that guides you through some of the tasks around a DaVinci Project. It asks for everything it needs, calls the required tools in the right order, and writes a log of what it did.

What Can I Use DaVinci Assistant For?

Create a DaVinci Project

Create a new project from your BSW Package, including an optional DaVinci Developer Classic workspace and vVIRTUALtarget project.

Update a DaVinci Project

Import new or changed input files into an existing project and derive the ECU configuration from them.

Migrate a DaVinci Project

Walk through the complete migration of a DaVinci Configurator Classic Version 5 project.

Open a DaVinci Project Directly via Its Project File

Register DaVinci Assistant for the .dvjson file extension in the Windows Explorer.

Prerequisites

License

  • DaVinci Configurator Classic Version 6 (see License Activation)

  • DaVinci Developer Classic and vVIRTUALtarget, if your project uses them

Installation

Input

  • BSW Package R35 or newer, complying to your project

Access

  • Write access to the file system where your project is located

DaVinci Assistant is available for Windows only and does not require administrator rights.

Get DaVinci Assistant

If you have DaVinci Configurator Classic Version 6 installed on Windows, it already includes DaVinci Assistant, and no separate installation is required. You find it in your installation directory:

<installation directory>\assistant\dv-assistant.exe

Start DaVinci Assistant

Run DaVinci Assistant without arguments to pick your task from a menu:

$ dv-assistant.exe

Alternatively, start a task directly with the command described in the following sections. DaVinci Assistant then asks for everything it still needs.

To see all commands and their options, run the following command:

$ dv-assistant.exe --help

Add the -y option to run a command without any prompt, for example in a continuous integration pipeline.

Create a Project

DaVinci Assistant creates a new DaVinci Project from your BSW Package. It asks for the project name, the output directory and the project properties, such as derivative and compiler. On request, it also creates a DaVinci Developer Classic workspace and a vVIRTUALtarget project and links them to the new project.

$ dv-assistant.exe create
Result
  • New <project name>.dvjson project in your output directory, ready to be opened

  • DaVinci Developer Classic workspace and vVIRTUALtarget project, linked to your project, if requested

  • Log file in the .dv/assistant/logs directory of your project

Update a Project

DaVinci Assistant imports new or changed input files into an existing DaVinci Project and derives the ECU configuration from them. Supported input formats are ARXML, DBC, LDF, FIBEX (.xml), CDD and VSDE.

$ dv-assistant.exe update MyProject.dvjson -i MySystem.arxml -i MyBus.dbc

The order of the -i options is significant. DaVinci Assistant merges the input files in the order you pass them, so the same files in a different order can produce a different ECU configuration. Passing the same files in the same order always produces the same result.

DaVinci Assistant remembers the input files of the last run. To repeat an update with the same input files, omit the -i option.

Result
  • Updated ECU configuration in your project

  • Log file in the .dv/assistant/logs directory of your project

Migrate a Project from Version 5

DaVinci Assistant walks you through the following migration steps (see Migration Process Overview):

  • Update Project Structure

  • Update BSW Package

  • Update Data Files

  • Update User Code Blocks

  • Update Tool Links

Start the migration with the .dpa file of your Version 5 project and follow the prompts:

$ dv-assistant.exe migrate MyProject.dpa

If the migration is interrupted, run the same command on your project directory to continue where you stopped.

Result
  • Backup of your Version 5 project, located besides your input project

  • Migrated Version 6 project, overwriting your input Version 5 project

  • Log file in the .dv/assistant/logs directory of your project

Limitations

DaVinci Assistant does not support the automated Migration of Automation Projects and Scripts.

Open a DaVinci Project Directly via Its Project File

DaVinci Assistant registers itself for the .dvjson file extension in the Windows Explorer:

$ dv-assistant.exe file-assoc register

To remove the file association again, run dv-assistant.exe file-assoc remove.

Result
  • .dvjson files show the DaVinci Configurator Classic icon in the Windows Explorer

  • A double click on a .dvjson file opens the project in DaVinci Configurator Classic

The file association applies to your user account only and points to the current location of dv-assistant.exe. Register it again after you moved the file.

Use DaVinci Assistant with an AI Assistant

DaVinci Assistant installs skill files that teach AI coding assistants, such as GitHub Copilot or Claude Code, how to run its commands:

$ dv-assistant.exe install-skills
Result
  • Skill files in the .copilot/skills and .claude/skills directories of your user profile

  • Your AI assistant can create, update, migrate and open a DaVinci Project via the DaVinci Assistant on your behalf

Files in the .dv/assistant Directory

DaVinci Assistant keeps its state for a project in the .dv/assistant directory next to your project file.

Item Description

environment.json

Locations of DaVinci Configurator Classic, your BSW Package and the other tools this project uses.

update.json

Input files of the last update in merge order, with the ECU instance and the CDD processing mode.

SystemDescriptionMergeConfig.xml

Merge configuration of a variant project. Edit it to resolve merge conflicts between variants.

logs

One log file per DaVinci Assistant run.

update

Copies of the input files of the last update and the intermediate files it generated. Cleared at the beginning of every run.

You can edit environment.json, update.json and SystemDescriptionMergeConfig.xml to change what the next run does, for example to point the project at a different BSW Package or to replace the input files of an update. Their paths are stored relative to your project, so DaVinci Assistant tracks these three files in Git and excludes the rest of the directory. A value you pass on the command line always takes precedence.