env-ai v0.4.0
env-ai - AI Assistant for Your Local Environment
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.
📑 Index
- 🌟 Features
- 📦 Installation
- 📖 Using the CLI
- 📚 Using the Library
- 🔍 Examples
- 👨💻 Development
- ☕ Donate
- 📜 License
- 🐦 About Us
🌟 Features
- 💬 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.
📦 Installation
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-aiglobal Installation
## npm
npm install -g env-ai
## pnpm
pnpm add -g env-ai
## yarn
yarn global add env-aiwithout Installation
## npm
npx env-ai
## pnpm
pnpx env-ai📖 Using the CLI
The env-ai CLI allows you to easily interact with the AI assistant. Here are some useful commands and options:
Main Commands
# Start a chat with the AI assistant
env-ai chatOptions
-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)
📚 Using the Library
env-ai can also be integrated as a library into your JavaScript or TypeScript project.
Import Example
import { run } from 'env-ai';
run({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});Defined Configuration
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',
});🔍 Examples
You can see more examples here.
CLI
env-ai chat -i "./src/**" -t "docs" -o "output.md"Library
import { run } from 'env-ai';
run({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});CLI With js config file
env-ai chat --config dovenv.config.jsimport { defineConfig } from 'env-ai';
export default defineConfig({
model: 'llama3.2:latest',
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});CLI With json config file
env-ai chat --config dovenv.config.json{
"theme": "custom",
"system": "./your-system-content.txt"
}CLI With toml config file
env-ai chat --config documentation-context.tomltheme = "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}}
"""CLI With yaml config file
env-ai chat --config dovenv.config.yamltheme: custom
system: ./your-system-content.mdCLI - Input with excluded files
It includes all SRC files that are at the upper level.
env-ai chat -i 'src/*' '!src/../*' -t 'docs' -o 'output.md'👨💻 Development
env-ai is an open-source project and its development is open to anyone who wants to participate.
☕ Donate
Help us to develop more interesting things.
📜 License
This software is licensed with GPL-3.0.
🐦 About us
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.
Collaborators
| Name | Role | GitHub | |
|---|---|---|---|
| Angelo | Idea & Development & UI Design | @angelespejo | |
| PigeonPosse | Collective | @PigeonPosse |