https://github.com/pigeonposse/env-ai
An AI assistant tool for your terminal, designed to help you with tasks like documentation, performance optimization, refactoring, and more, using custom commands.
https://github.com/pigeonposse/env-ai
ai bun cli deno documentation node typescript
Last synced: 3 months ago
JSON representation
An AI assistant tool for your terminal, designed to help you with tasks like documentation, performance optimization, refactoring, and more, using custom commands.
- Host: GitHub
- URL: https://github.com/pigeonposse/env-ai
- Owner: pigeonposse
- License: gpl-3.0
- Created: 2024-10-15T16:17:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T16:54:48.000Z (7 months ago)
- Last Synced: 2025-04-14T19:16:52.126Z (3 months ago)
- Topics: ai, bun, cli, deno, documentation, node, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/env-ai
- Size: 334 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# env-ai - AI Assistant for Your Local Environment
[](https://pigeonposse.com)
[](https://pigeonposse.com?popup=about)
[](https://pigeonposse.com/?popup=donate)
[](https://github.com/pigeonposse)
[](https://twitter.com/pigeonposse_)
[](https://www.instagram.com/pigeon.posse/)
[](https://medium.com/@pigeonposse)[](/LICENSE)
[](https://www.npmjs.com/package/env-ai)**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](https://ollama.com)** technology to work. Make sure you have it installed before using this CLI.## 📑 Index
- [🌟 Features](#-features)
- [📦 Installation](#-installation)
- [📖 Using the CLI](#-using-the-cli)
- [Main Commands](#main-commands)
- [Options](#options)
- [Usage Example](#usage-example)
- [📚 Using the Library](#-using-the-library)
- [Import Example](#import-example)
- [Defined Configuration](#defined-configuration)
- [🔍 Examples](#-examples)
- [👨💻 Development](#-development)
- [☕ Donate](#-donate)
- [📜 License](#-license)
- [🐦 About Us](#-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](https://github.com/pigeonposse/env-ai/releases).## 📦 Installation
Install the CLI or add it as a dependency to your project:
```bash
## 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
```### global Installation
```bash
## npm
npm install -g env-ai
## pnpm
pnpm add -g env-ai
## yarn
yarn global add env-ai
```### without Installation
```bash
## 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
```bash
# Start a chat with the AI assistant
env-ai chat
```### Options
- `-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```javascript
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:
```javascript
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](./examples).
### CLI
```bash
env-ai chat -i "./src/**" -t "docs" -o "output.md"
```### Library
```javascript
import { run } from 'env-ai';run({
input: ['./src/**', 'https://example.com'],
theme: 'docs',
output: 'README.md',
});
```### CLI With `js` config file
```bash
env-ai chat --config dovenv.config.js
```
```js
import { 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
```bash
env-ai chat --config dovenv.config.json
``````json
{
"theme": "custom",
"system": "./your-system-content.txt"
}
```### CLI With `toml` config file
```bash
env-ai chat --config documentation-context.toml
``````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}}
"""
```### CLI With `yaml` config file
```bash
env-ai chat --config dovenv.config.yaml
``````yaml
theme: custom
system: ./your-system-content.md
```
### CLI - Input with excluded filesIt includes all SRC files that are at the upper level.
```bash
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.
[](./docs/todo/)
[](https://github.com/pigeonposse/env-ai/issues)
[](https://github.com/pigeonposse/env-ai/pulls)
[](https://env-ai.pigeonposse.com/)## ☕ Donate
Help us to develop more interesting things.
[](https://pigeonposse.com/?popup=donate)
## 📜 License
This software is licensed with **[GPL-3.0](/LICENSE)**.
[](/LICENSE)
## 🐦 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.
[](https://github.com/pigeonposse)
### Collaborators
| | Name | Role | GitHub |
| ---------------------------------------------------------------------------------- | ----------- | ------------ | ---------------------------------------------- |
|| Angelo | Idea & Development & UI Design | [@angelespejo](https://github.com/angelespejo) |
|| PigeonPosse | Collective | [@PigeonPosse](https://github.com/PigeonPosse) |
[](https://pigeonposse.com)
[](https://pigeonposse.com?popup=about)
[](https://pigeonposse.com/?popup=donate)
[](https://github.com/pigeonposse)
[](https://twitter.com/pigeonposse_)
[](https://www.instagram.com/pigeon.posse/)
[](https://medium.com/@pigeonposse)