An autonomous coding agent and SDK for building AI-powered tools. The name "Hataraku" (働く) means "to work" in Japanese.
Hataraku is a powerful toolkit that enables the creation of AI-powered development tools and autonomous coding agents. It provides a flexible SDK and CLI for building intelligent development workflows, code analysis, and automation tasks.
- 🤖 Autonomous coding agent capabilities
- 🛠️ Extensible SDK for building AI-powered tools
- 📦 Support for multiple AI providers (OpenRouter, Claude, Amazon Bedrock)
- 🧠 AWS Bedrock Knowledge Base integration for RAG applications
- 🔄 Workflow automation and parallel task execution
- 📊 Schema validation and structured tasks
- 🧰 Built-in tool integration system
- 🔗 Model Context Protocol (MCP) support
- 🔄 Extends the powerful AI SDK from Vercel.
# Using npm
npm install -g hataraku
# Using yarn
yarn global add hataraku
# Using pnpm
pnpm global add hataraku
// Import the SDK
import { createAgent, createTask } from 'hataraku';
import { z } from 'zod';
// Bring in any ai-sdk provider https://sdk.vercel.ai/providers/ai-sdk-providers
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
// Create an agent using Claude via OpenRouter
// You can pass API key directly or use environment variable
const openrouter = createOpenRouter({
apiKey: 'YOUR_OPENROUTER_API_KEY',
});
const model = openrouter.chatModel('anthropic/claude-3.5-sonnet');
const agent = createAgent({
name: 'MyAgent',
description: 'A helpful assistant',
role: 'You are a helpful assistant that provides accurate information.',
model: model
});
// Run a one-off task
const result = await agent.task('Create a hello world function');
// Create a simple reusable task with schema validation
const task = createTask({
name: 'HelloWorld',
description: 'Say Hello to the user',
agent: agent,
inputSchema: z.object({ name: z.string() }),
task: ({name}) => `Say hello to ${name} in a friendly manner`
});
// Execute the task
const result = await task.run({name: 'Hataraku'});
console.log(result);
First, install the CLI globally:
npm install -g hataraku
Initialize a new project:
hataraku init my-project
cd my-project
Run a task using the CLI:
# Run a predefined task
hataraku task run hello-world
# Run with custom input
hataraku task run hello-world --input '{"prompt": "Write a function that calculates factorial"}'
# Run with streaming output
hataraku task run hello-world --stream
Configure providers and explore available commands:
# Configure a provider
hataraku provider configure openrouter
# List all available commands
hataraku --help
Hataraku's output can be enhanced using Glow, a terminal-based markdown viewer that makes the output more readable and visually appealing.
# macOS
brew install glow
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install glow
# Windows with Chocolatey
choco install glow
Create a function in your shell configuration file (.bashrc
, .zshrc
, etc.):
# Alias for Hataraku
alias h="hataraku"
# Function to pipe Hataraku output to Glow
hd() {
hataraku "$@" | glow -
}
Now you can use the hd
command to run Hataraku with enhanced output:
For more details, see the Glow Integration Guide.
Hataraku provides several core components:
Task
: Create and execute AI-powered tasksAgent
: Build autonomous coding agentsWorkflow
: Orchestrate complex multi-step operationsTools
: Integrate custom capabilities and external services
For detailed API documentation, see the Types Documentation.
- Agent Documentation - Learn about autonomous agents
- CLI Reference - Available CLI commands and options
- API Reference - Complete API reference
- Configuration Guide - Configuration options
- Providers - Supported AI providers
- Knowledge Base - AWS Bedrock Knowledge Base integration
- Tools - Built-in tools and extensions
- Architecture - System architecture
- Troubleshooting - Solving common issues
- Glow Integration - Using Glow to enhance Hataraku output
The package includes various examples in the /examples
directory demonstrating different features:
- Basic task execution
- Streaming responses
- Schema validation
- Multi-step workflows
- Tool integration
- Thread management
These examples are available for reference in the repository and can be examined to understand different use cases and implementation patterns.
See the examples README for more details.
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see the LICENSE file for details.
- GitHub Issues: Report bugs or request features
- Documentation: See the docs directory for detailed guides