0.3.2 • Published 9 months ago
@plastichub/osr-ai-tools v0.3.2
LLM Tools CLI
Command-line interface and library for LLM tools providing filesystem, npm, git, terminal, interactive user, and screen capture operations.
Setup
- Install dependencies:
pnpm install- Build the project:
pnpm run build- Configure environment: Either set environment variable:
export OPENAI_API_KEY=your-key-hereOr create a configuration file (e.g. .env.dev.json):
{
"openai": {
"key": "your-key-here"
}
}Then use with --env_key parameter:
pnpm start invoke --env_key devAvailable Commands
Generate TypeScript Types
Generates TypeScript interfaces from Zod schemas:
pnpm run typesList Available Tools
Show all available tools and their descriptions:
pnpm start list
# Write tools list to file
pnpm start list --output ./tools.jsonInvoke Tool Functions
Invoke specific tool functions:
pnpm start invoke \
--tools fs \
--function list_files \
--target ./src \
--params '{"directory":".","pattern":"**/*.ts"}'Available Tools
Filesystem Tools (fs)
list_files: List all files in a directory with optional glob patternremove_file: Remove a file at given pathrename_file: Rename or move a file or directorymodify_project_files: Modify existing project files with given contentcreate_project_structure: Create project structure with files and folderscreate_file: Creates a file with given path and contentread_file: Read content of a file at given path
NPM Tools (npm)
build_project: Build project using pnpm build commandrun_npm: Run an npm/pnpm command with optional argumentsinstall_dependency: Install project dependencies using pnpm
Git Tools (git)
init_repository: Initialize a new git repository if it doesn't existcommit_files_git: Commit and push files to git repository with specified message
Terminal Tools (terminal)
execute_command: Execute terminal commands with options:- Run in background (non-blocking)
- Open in new window
- Run detached from parent process
- Specify working directory
Interactive Tools (interact)
ask_question: Ask user a simple question and get responsechoose_option: Ask user to choose from multiple options:- Single selection mode
- Multiple selection mode (checkbox)
User Tools (user)
capture_screen: Capture a screenshot of the entire screen or a specific region
Project Structure
src/
├── commands/ # Command implementations
│ ├── index.ts # Command registry
│ ├── invoke.ts # Invoke command
│ ├── list.ts # List command
│ └── types.ts # Types command
├── lib/ # Core functionality
│ └── tools/ # Tool implementations
│ ├── fs.ts # Filesystem tools
│ ├── git.ts # Git operations
│ ├── npm.ts # NPM commands
│ ├── interact.ts # Interactive tools
│ ├── user.ts # User tools (screenshots)
│ └── terminal.ts # Terminal operations
├── constants.ts # Logger name constant
├── index.ts # Logger setup
├── main.ts # CLI entry point
├── tools.ts # Tools registry
├── zod_schemas.ts # Zod schemas
└── zod_types.ts # Generated TypeScript interfaces0.3.2
9 months ago
0.3.0
10 months ago
0.2.9
10 months ago
0.2.8
10 months ago
0.2.7
10 months ago
0.2.6
10 months ago
0.2.5
10 months ago
0.2.4
10 months ago
0.2.2
10 months ago
0.2.1
10 months ago
0.2.0
10 months ago
0.1.9
10 months ago
0.1.8
10 months ago
0.1.7
10 months ago
0.1.6
10 months ago
0.1.5
10 months ago
0.1.2
10 months ago
0.1.1
10 months ago
0.1.0
10 months ago