Skip to content

An AI assistant tool for your terminal, designed to help you with tasks like documentation, performance optimization, refactoring, and more, using custom commands.

License

Notifications You must be signed in to change notification settings

pigeonposse/env-ai

env-ai - AI Assistant for Your Local Environment

Web About Us Donate Github Twitter Instagram Medium

License Core

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.
  • πŸ—ƒοΈ 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-ai

global Installation

## npm
npm install -g env-ai
## pnpm
pnpm add -g env-ai
## yarn
yarn global add env-ai

without 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 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

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.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

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.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

env-ai chat --config dovenv.config.yaml
theme: custom
system: ./your-system-content.md

CLI - 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.

TODO Issues Pull requests Read more

β˜• Donate

Help us to develop more interesting things.

Donate

πŸ“œ License

This software is licensed with GPL-3.0.

Read more

🐦 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.

More

Collaborators

Name Role GitHub
Angelo Angelo Idea & Development & UI Design @angelespejo
PigeonPosse PigeonPosse Collective @PigeonPosse

Web About Us Donate Github Twitter Instagram Medium

About

An AI assistant tool for your terminal, designed to help you with tasks like documentation, performance optimization, refactoring, and more, using custom commands.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published