| Crates.io | devai |
| lib.rs | devai |
| version | 0.5.12 |
| created_at | 2024-09-16 03:54:09.71665+00 |
| updated_at | 2025-02-23 20:49:57.74967+00 |
| description | Command Agent runner to accelerate production coding with genai. |
| homepage | https://devai.run |
| repository | https://github.com/aipack-ai/aipack |
| max_upload_size | |
| id | 1375976 |
| size | 568,278 |
This project is rebranding to aipack, a more suitable name for its future development.
This repo is now https://github.com/aipack-ai/aipack.
same codebase, same feature set, same licenses (MIT or Apache)
But it will be aipack centric, which is going to bring huge value for the users and community.
Key Differences:
.aip (was .devai)
~/.aipack-base/ and .aipack/ will be created accordingly (now always create ~/.aipack-base/)packs and addressed as namespace@pack_name; each pack can have a main.aip (formerly .devai).pack/custom/namespace/packnameThe devai crate will remain on v0.5.12 (or v0.5.x as needed), and the devai conventions.
v0.6.x and up will be the new aipack logic and be in the main branch. We will probably have some v0.6.0-alpha.x releases.
Please do not send any PRs during this week of transition (2025-02-23), as there will be a lot of changes.
The new aipack v0.6.x will have a superset of the old devai v0.5.x functionalities, so we will only accept PRs on v0.6.x or later.
A little pain for so much gain...
You can find more information in the following discussion #51
Below is the legacy README.
Website: https://devai.run
Built on top of the Rust genai library, which supports all the top AI providers and models (OpenAI, Anthropic, Gemini, DeepSeek, Groq, Ollama, xAI, and Cohere).
Top new features:
devai run craft/text or devai run craft/code (example of cool new agent module support)deepseek-chat supportWINDOWS DISCLAIMER:
bat command line.Thanks to
--non-interactive/--ni mode (#28)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"
# For a one-shot run (or --ni)
devai run --non-interactive proof-read -f "./doc/README.md"
The main concept of devai is to minimize friction in creating and running agents 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, DEEPSEEK_API_KEY, or XAI_API_KEY, or the key of your model provider more info on API keys
NOTE: Since v0.5.4, the agent folders now have the command- prefix under .devai/ (DevAI will update the folder names when needed).
.devai Agent file is just a Markdown File with 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 documentation 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`
my-module may run my-module/main.devai, and running my-module/some-other will run my-module/some-other.devaiRequire