@justinechang/maki v1.0.0
Maki CLI
⚠️ DISCLAIMER: This is an AI-powered tool that can perform file operations and system commands. The author is NOT responsible for any data loss, system damage, or other issues that may arise from using this software. Use at your own risk and always backup important data before running AI agents with file system access.
A command-line AI agent built with OpenRouter that can perform file operations, CSV manipulation, todo management, and web content fetching through a conversational interface.
Features
- File Operations: Read, write, create, delete, copy, and move files and directories
- CSV Data Tools: Parse, filter, sort, merge, analyze, and export CSV data
- Todo Management: Create, view, update, and manage todo lists with priorities
- Web Content Fetching: Download and extract content from web pages
- Conversational Interface: Natural language interaction with the AI agent
- Thread Management: Save and manage conversation history
- Global Installation: Install once and use from any directory
Quick Start
1. Get your OpenRouter API key
Sign up at openrouter.ai and get your API key.
2. Set your API key
export OPENROUTER_API_KEY="your-api-key-here"3. Run the agent
npx makiThat's it! No installation required.
Installation Options
Using npx (Recommended)
Run without installing (always gets latest version):
npx makiGlobal Install
Install once and use anywhere:
npm install -g maki
makiDevelopment/Local Install
For development or local testing:
- Clone the repository
- Set your OpenRouter API key:
export OPENROUTER_API_KEY="your-api-key-here" - Install globally from source:
npm run install-global - Use from any directory:
cd ~/Documents maki
Note: Once published to npm, users can use npx maki or npm install -g maki.
Development Setup
- Clone the repository
- Install dependencies:
npm install - Set your OpenRouter API key:
export OPENROUTER_API_KEY="your-api-key-here" - Run database setup:
npx prisma migrate dev
Usage
Global Usage (After Global Install)
cd /any/directory
makiThe agent will operate on files in your current working directory and store its database in ~/.config/maki/.
Development Mode
npm run devProduction Mode
npm run build
npm startCommands
npm run dev- Start development interfacenpm run build- Build TypeScript to JavaScriptnpm start- Run built versionnpm run install-global- Build and install globallynpm run migrate- Run database migrations
Configuration
Global Installation
- Database:
~/.config/maki/database.sqlite - Working directory: Current directory where you run
maki
Development Mode
- Database:
./prisma/database.sqlite - Working directory:
./file_assistant_workspace
Available Tools
File Tools
listFiles- List files and directoriesreadFile- Read file contentswriteFile- Create or update filesappendToFile- Append content to filesdeleteFile- Delete filescreateFolder- Create directoriesdeleteFolder- Delete directoriesrenameFolder- Rename directoriesrenameFile- Rename filescopyFile- Copy filescopyFolder- Copy directories
CSV Tools
loadCSV- Load and display CSV datafilterCSV- Filter CSV rows by criteriasortCSV- Sort CSV data by columnsanalyzeCSV- Analyze CSV structure and datamergeCSV- Merge multiple CSV filesexportCSV- Export data to CSV formatgroupByCSV- Group CSV data by column valuestransformCSV- Transform CSV column data
Todo Tools
getTodos- View current todo listaddTodo- Add new todo itemsupdateTodo- Update existing todosdeleteTodo- Delete todosclearTodos- Clear all todos
Web Tools
fetchWebContent- Download and extract web page content
Publishing to npm
To publish this package so users can use npx maki:
Create npm account: Sign up at npmjs.com
Login to npm:
npm loginUpdate version (if needed):
npm version patch # or minor/majorBuild and publish:
npm run build npm publishUsers can then run:
npx maki
Pre-publish Checklist
- Update version in package.json
- Ensure package name is unique on npm
- Test locally with
npm run install-global - Update README with actual npm package name
- Remove hardcoded API keys from code
License
ISC
7 months ago