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.

GPL-3.0 License

Downloads
308
Stars
1

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

  • đŸ’Ŧ Real-Time Chat: Interact with the AI assistant directly from your terminal.
  • 🎨 Extensive Customization: Configure themes and outputs to your liking.
  • 📄 Configuration File Support: Compatible with multiple formats, including .mjs, .js, .json, .yml, .yaml, .toml, and .tml.
  • 🌐 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

global Installation

## npm
npm install -g env-ai
## pnpm
pnpm add -g env-ai
## yarn
yarn global add 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 ask

Options

  • -i, --include - Files or URLs to include using glob patterns. (array)
  • -e, --exclude - Files or URLs to exclude using glob patterns. (array)
  • -m, --model - Name of the Ollama model to use. (string)
  • -p, --prompt - Custom text or path for the prompt. (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 - Configuration file path. (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({
    include: ['./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({
    include: ['./src/**', 'https://example.com'],
    theme: 'docs',
    output: 'README.md',
});

🔍 Examples

You can see more examples here.

CLI

env-ai ask -i "./src/**" -t "docs" -o "output.md"

Library

import { run } from 'env-ai';

run({
    include: ['./src/**', 'https://example.com'],
    theme: 'docs',
    output: 'README.md',
});

CLI With js config file

env-ai ask --config dovenv.config.js
import { defineConfig } from 'env-ai';

export default defineConfig({
    include: ['./src/**', 'https://example.com'],
    theme: 'docs',
    output: 'README.md',
});

CLI With json config file

env-ai ask --config dovenv.config.json
{
    "theme": "custom",
    "system": "./your-system-content.txt"
}

CLI With toml config file

env-ai ask --config documentation-context.toml
theme = "docs"
include = ["./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 ask --config dovenv.config.yaml
theme: custom
system: ./your-system-content.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