Crates.io | devai |
lib.rs | devai |
version | 0.5.3 |
source | src |
created_at | 2024-09-16 03:54:09.71665 |
updated_at | 2024-12-12 15:57:55.989436 |
description | Command Agent runner to accelerate production coding with genai. |
homepage | https://devai.run |
repository | https://github.com/jeremychone/rust-devai |
max_upload_size | |
id | 1375976 |
size | 426,072 |
Website: https://devai.run
What's new:
For now, the simplest way to install is with cargo install
.
cargo install devai
# Init (optional; will be executed on each run as well)
devai init
# Will proofread and update the direct .md file from the current directory
devai run proof-read -f "./*.md"
# Can use multiple globs or direct files -f "./*.md" -f "./doc/**/*.md"
The main devai concept is to minimize the friction of creating and running an agent while providing maximum control over how we want those agents to run and maximizing iteration speed to mature them quickly.
IMPORTANT 1: Make sure everything is committed before usage (at least while you are learning about devai).
IMPORTANT 2: Make sure to have your OPENAI_API_KEY
, ANTHROPIC_API_KEY
, or XAI_API_KEY
, or the key of your model provider (specified in the .devai/config.toml
file). more info on api keys
.devai
Agent file is just a Markdown File with some sections for each stage of the agent processing.devai run proof-read -f "./*.md"
will run the installed Command Agent file .devai/default/proof-read.devai
on all source files matching ./src/*.md
(Here is the source file for the default proof-read.devai)
input
of type FileMeta for the Lua and Handlebars parts of the agent file..devai
files that can be placed anywhere on disk.
devai run ./my-path/to/my-agent.devai ...
A single devai file may comprise any of the following stages.
Stage | Language | Description |
---|---|---|
# Before All |
Lua | Reshape/generate inputs and add command global data to scope (the "map" of the map/reduce capability). |
# Data |
Lua | Gather additional data per input and return it for the next stages. |
# System |
Handlebars | Customize the prompt with the data and before_all data. |
# Instruction |
Handlebars | Customize the prompt with the data and before_all data. |
# Assistant |
Handlebars | Optional for special customizations, such as the "Jedi Mind Trick." |
# Output |
Lua | Processes the ai_response from the LLM. Otherwise, ai_response.content will be output to the terminal. |
# After All |
Lua | Called with inputs and outputs for post-processing after all inputs are completed. |
# Before All
/ # After All
can be considered as the map/reduce of the agent, and these will be run before and after the input processing.See the devai doc at _init/doc/README.md (With Lua modules doc)
You can also run the ask-devai
agent.
# IMPORTANT - Make sure you have the `OPENAI_API_KEY` or the key of your model in your environment
devai run ask-devai
# and then open the `.devai/tmp/ask-devai.md`
TOP COLLABORATOR Big thanks to Stephane Philipakis, a top devai collaborator contributing to the next-generation methodology for production coding with GenAI.
my-module
may run my-module/main.devai
, and running my-module/some-other
will run my-module/some-other.devai
Require