env-ai is an intelligent assistant tool for your terminal, designed to help you with tasks like documentation, performance optimization, refactoring, and more, using custom commands.
Important
env-ai needs the Ollama technology to work. Make sure you have it installed before using this CLI.
- π Features
- π¦ Installation
- π Using the CLI
- π Using the Library
- π Examples
- π¨βπ» Development
- β Donate
- π License
- π¦ About Us
- π¬ Real-Time Chat: Interact with the AI assistant directly from your terminal.
- ποΈ Robust context: Accepts URL and local file inputs so the wizard has more precise context of what to do.
- π¨ Extensive Customization: Configure themes, inputs and outputs to your liking.
- π Configuration File Support: Make your chat systems portable. Compatible with multiple formats, including
.mjs
,.js
,.json
,.yml
,.yaml
,.toml
, and.tml
. βοΈ Portable: Create a chat system, save it in a configuration file and use it for other projects.- π Multiple Environments:
- π¦ JavaScript Library: Easily integrable into your projects.
- π» Command Line Interface (CLI): Works in:
- π’ Node.js
- π¦ Deno
- π Bun
- π Binary: Available for all operating systems and architectures via GitHub Releases.
Install the CLI or add it as a dependency to your project:
## npm
npm install env-ai
## pnpm
pnpm add env-ai
## yarn
yarn add env-ai
# bun
bun add env-ai
# deno
deno add env-ai
## npm
npm install -g env-ai
## pnpm
pnpm add -g env-ai
## yarn
yarn global add env-ai
## npm
npx env-ai
## pnpm
pnpx env-ai
The env-ai CLI allows you to easily interact with the AI assistant. Here are some useful commands and options:
# Start a chat with the AI assistant
env-ai chat
-i, --input
- Path patterns or URLs to be processed. (array)-m, --model
- Name of the Ollama model to use. (string)-p, --prompt
- Fist prompt to generate a response (text, path or url). (string)-s, --system
- Custom system text or path. (string)-t, --theme
- Topic of conversation (custom
,explain
,docs
,fix
,performance
,refactor
,tests
). (string)-o, --output
- Output path for the generated response. (string)--overwrite
- Behavior control if the output file exists (always
,ask
,last
). (boolean)--single
- Get only one response. (boolean)-c, --config
- Path to config file. Files supported: [.mjs|.js|.json|.yml|.yaml|.toml|.tml]. (string)--debug
- Debug mode. (boolean)-h, --help
- Show help. (boolean)-v, --version
- Show version number. (boolean)
env-ai can also be integrated as a library into your JavaScript
or TypeScript
project.
import { run } from 'env-ai';
run({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});
Use defineConfig
to define a reusable configuration:
import { defineConfig } from 'env-ai';
export default defineConfig({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});
You can see more examples here.
env-ai chat -i "./src/**" -t "docs" -o "output.md"
import { run } from 'env-ai';
run({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});
env-ai chat --config dovenv.config.js
import { defineConfig } from 'env-ai';
export default defineConfig({
model: 'llama3.2:latest',
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});
env-ai chat --config dovenv.config.json
{
"theme": "custom",
"system": "./your-system-content.txt"
}
env-ai chat --config documentation-context.toml
theme = "docs"
input = ["./docs", "./src"]
system = """
You are a helpful assistant explaining how to use the provided code library and provide detailed documentation.
The content for the following code library:
{{content}}
"""
env-ai chat --config dovenv.config.yaml
theme: custom
system: ./your-system-content.md
It includes all SRC files that are at the upper level.
env-ai chat -i 'src/*' '!src/../*' -t 'docs' -o 'output.md'
env-ai is an open-source project and its development is open to anyone who wants to participate.
Help us to develop more interesting things.
This software is licensed with GPL-3.0.
PigeonPosse is a β¨ code development collective β¨ focused on creating practical and interesting tools that help developers and users enjoy a more agile and comfortable experience. Our projects cover various programming sectors and we do not have a thematic limitation in terms of projects.
Name | Role | GitHub | |
---|---|---|---|
Angelo | Idea & Development & UI Design | @angelespejo | |
PigeonPosse | Collective | @PigeonPosse |