-
Notifications
You must be signed in to change notification settings - Fork 45
Workflow Specification
Jinglei Ren edited this page Aug 4, 2023
·
6 revisions
DevChat operates workflows defined by YAML files. The YAML syntax of DevChat workflows is inspired by the key concepts in CircleCI configuration: commands, jobs, and workflows. A side benefit of this connection is that AI can assist in generating the YAML files, as major AI models have learned CircleCI's syntax.
The DevChat workflow schema adheres to the following principles:
-
Unify the manually controlled and AI controlled workflows. Each command corresponds to an OpenAI function, for example, and can be controlled by AI. The unified syntax is crucial, providing users with the flexibility to choose the most suitable method for constructing each individual workflow as desired. Users have the option to:
- Manually craft static workflows as YAML files for use with DevChat CLI or VS Code extension, or
- Delegate the dynamic workflow to AI's control, by supplying necessary functions in a prompt.
- Easy to Use. Commands can be seamlessly integrated into a DevChat prompt as OpenAI functions and run through DevChat. Commands and functions are made interchangeable in DevChat.
- Easy to Read. The YAML format is chosen over JSON due to its superior readability. By declaring commands in YAML, users can avoid the more tedious process of defining OpenAI functions in JSON.
- Easy to Organize. Commands can be conveniently reused, amalgamated, and arranged (even in parallel and stages) in YAML files and simple folders, without unnecessary complexity.
DevChat Wiki by devchat.ai is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.