Package Exports
Readme
Hataraku
An autonomous coding agent and SDK for building AI-powered tools. The name "Hataraku" (働く) means "to work" in Japanese.
Description
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.
Key Features
- 🤖 Autonomous coding agent capabilities
- 🛠️ Extensible SDK for building AI-powered tools
- 📦 Support for multiple AI providers (OpenRouter, Claude, Amazon Bedrock)
- 🔄 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.
Installation
# Using npm
npm install -g hataraku
# Using yarn
yarn global add hataraku
# Using pnpm
pnpm global add hatarakuQuick Start
SDK Usage
// 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);CLI Usage
First, install the CLI globally:
npm install -g hatarakuInitialize a new project:
hataraku init my-project
cd my-projectRun 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 --streamConfigure providers and explore available commands:
# Configure a provider
hataraku provider configure openrouter
# List all available commands
hataraku --helpAPI Overview
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.
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
- Tools - Built-in tools and extensions
- Architecture - System architecture
- Troubleshooting - Solving common issues
Examples
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.
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
MIT License - see the LICENSE file for details.
Support
- GitHub Issues: Report bugs or request features
- Documentation: See the docs directory for detailed guides