Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hataraku) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Hataraku
An autonomous coding agent and SDK for building AI-powered development tools. The name "Hataraku" (働く) means "to work" in Japanese, reflecting its dual nature as both a worker (CLI tool) and a framework for building workers (SDK).
Features
🤖 CLI Tool
- Create and edit files with diff view and linting support
- Execute terminal commands with real-time output monitoring
- Launch and control browsers for testing and debugging
- Support for multiple AI providers (OpenRouter, Anthropic, OpenAI, etc.)
- Built-in tools for file operations, code analysis, and more
🛠️ SDK Framework
Build your own AI-powered development tools with a clean, intuitive API:
import { Agent, AgentConfig } from '@hataraku/sdk';
const agent = new Agent({
name: 'CodeReviewer',
provider: 'anthropic',
model: 'claude-3',
role: 'Expert code reviewer focusing on security and performance',
capabilities: ['read_files', 'analyze_code', 'create_pr']
});
await agent.runTask({
instruction: 'Review this PR for security issues',
context: {
prNumber: 123,
repository: 'org/repo'
}
});🔌 Extensible with MCP
Add new capabilities through the Model Context Protocol:
- Create custom tools that integrate with your workflow
- Access external APIs and services
- Share tools across your organization
- Built-in MCP servers for common operations
Installation
# Install CLI tool
npm install -g hataraku
# Install SDK for development
npm install @hataraku/sdkQuick Start
CLI Usage
# Run a task
hataraku "create a react component that..."
# With specific provider
hataraku --provider anthropic "optimize this function..."SDK Usage
import { Agent, Tool } from '@hataraku/sdk';
// Create custom tools
const gitTool = new Tool({
name: 'create_branch',
description: 'Create a new git branch',
parameters: {
name: { type: 'string', required: true },
baseBranch: { type: 'string', default: 'main' }
},
async execute(context) {
// Implementation
}
});
// Configure agent
const agent = new Agent({
name: 'GitAutomation',
tools: [gitTool]
});
// Run tasks
await agent.runTask('create a feature branch for ticket ABC-123');Documentation
Contributing
- Clone the repository:
git clone https://github.com/turlockmike/hataraku.git- Install dependencies:
npm install- Run in development:
npm run dev