Package Exports
- taskin
Readme
Taskin
Task management system integrated with Git workflows
Taskin is a command-line tool that helps you manage tasks directly from your terminal, with seamless Git integration and dynamic provider loading.
โจ Features
- ๐ฏ Multiple Task Providers - File System, Redmine, Jira, GitHub Issues (and more!)
- ๐ Dynamic Provider Installation - Automatically installs providers when needed
- ๐ฆ Lightweight CLI - Only installs what you use
- ๐ Secure Configuration - API keys protected in
.gitignore - ๐จ Beautiful CLI - Colorful, interactive, and user-friendly
- โก Fast & Efficient - Built with performance in mind
- ๐งช Well Tested - Comprehensive test coverage
๐ Installation
# Using npx (recommended - no installation needed!)
npx taskin init
# Or install globally
npm install -g taskin
# Or with pnpm
pnpm add -g taskin
# Or with yarn
yarn global add taskinNote: Please report any issues on GitHub.
๐ฆ Available Packages
Taskin is built as a modular ecosystem. Besides the CLI, you can use individual packages:
Core Packages
Task Providers
| Provider | Description | Status | npm |
|---|---|---|---|
| @opentask/taskin-fs-provider | File System provider (Markdown files) | โ Stable | Coming soon |
| @opentask/taskin-redmine-provider | Redmine integration | ๐ง Coming Soon | - |
| @opentask/taskin-jira-provider | Jira Cloud integration | ๐ง Coming Soon | - |
| @opentask/taskin-github-provider | GitHub Issues integration | ๐ง Coming Soon | - |
Utilities
| Package | Description | npm |
|---|---|---|
| @opentask/taskin-git-utils | Git workflow helpers | Coming soon |
| @opentask/taskin-utils | Shared utilities | Coming soon |
๐ก Tip: When you run
taskin init, providers are automatically installed on-demand. You don't need to install them manually!
Quick Start
Initialize Taskin in your project: ```bash npx taskin init ```
Select your preferred task provider:
- ๐ File System - Store tasks as Markdown files locally
- ๐ด Redmine - Sync with Redmine issues (coming soon)
- ๐ต Jira - Sync with Jira issues (coming soon)
- ๐ GitHub Issues - Sync with GitHub (coming soon)
List all tasks: ```bash taskin list ```
Start working on a task: ```bash taskin start task-001 ```
Commands
taskin init- Initialize Taskin in your project with interactive setuptaskin list- List all taskstaskin new- Create a new task (alias:create)taskin start <id>- Start working on a tasktaskin pause <id>- Pause work on a tasktaskin finish <id>- Complete a tasktaskin lint- Validate task filestaskin dashboard- Start the web dashboardtaskin mcp-server- Start MCP server for Claude Desktop integration (alias:mcp)
๐ค MCP Server (Model Context Protocol)
Taskin includes an MCP server that allows AI assistants like Claude Desktop to interact with your tasks:
taskin mcp-serverIntegration with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"taskin": {
"args": ["taskin@beta", "mcp-server"],
"command": "npx"
}
}
}Or if installed globally:
{
"mcpServers": {
"taskin": {
"args": ["mcp-server"],
"command": "taskin"
}
}
}Available MCP Tools:
start_task- Start working on a taskfinish_task- Mark a task as finished
Available MCP Prompts:
start-task-workflow- Guide for starting tasksfinish-task-workflow- Guide for finishing taskstask-summary- Get task summary and insights
Available MCP Resources:
taskin://tasks- Access all tasks
๐ฆ Programmatic Usage
Taskin can also be used as a library in your TypeScript/JavaScript projects:
npm install taskinimport { createTaskin, getTaskin, type ITaskin } from 'taskin';
// Create a Taskin instance with custom tasks directory
const taskin = createTaskin('./my-tasks');
// Or use the default instance (uses ./TASKS)
const taskin = getTaskin();
// Use the API
const tasks = await taskin.list();
await taskin.start('task-001');
await taskin.pause('task-001', { message: 'Break time!' });
await taskin.finish('task-001');
// Lint tasks
const lintResult = await taskin.lint({ path: './TASKS' });
console.log(`Checked ${lintResult.tasksChecked} tasks`);TypeScript Support
Taskin is written in TypeScript and exports full type definitions:
import type { Task, TaskId, TaskStatus, ITaskin } from 'taskin';
// All types are available for your TypeScript projects
function processTask(task: Task): void {
console.log(`Processing ${task.title}`);
}๐๏ธ Architecture
Taskin uses a plugin-based architecture with dynamic provider loading:
- Providers are loaded on-demand (only when selected)
- Automatic installation via npm/pnpm/yarn
- Easy to extend with custom providers
๐ See ARCHITECTURE.md for detailed technical documentation.
๐ Creating Tasks
Use the taskin new command to create new task files:
Interactive Mode (Recommended)
Simply run without arguments for a guided experience:
taskin newYou'll be prompted to select:
- Task type (feat, fix, refactor, docs, test, chore)
- Title
- Description (optional)
- Assignee (optional)
Command-line Mode
Or provide all options directly:
# Create a new feature task
taskin new -t feat -T "Add user authentication" -d "Implement JWT-based auth" -u "John Doe"
# Create a bug fix task
taskin new --type fix --title "Fix login error" --user "Developer"
# Using the 'create' alias
taskin create -t docs -T "Update README"Options:
-t, --type <type>- Task type: feat, fix, refactor, docs, test, chore-T, --title <title>- Task title (required in command-line mode)-d, --description <description>- Task description-u, --user <user>- Assigned user
The command will:
- Auto-generate a task number (e.g., 05)
- Create a markdown file in
TASKS/directory - Use a slug from the title for the filename
- Pre-populate with a standard template
๏ฟฝ๐ Examples
See EXAMPLES.md for detailed usage examples and workflows.
๐ Available Providers
| Provider | Status | Package |
|---|---|---|
| ๐ File System | โ Stable | @opentask/taskin-fs-provider |
| ๐ด Redmine | ๐ง Coming Soon | @opentask/taskin-redmine-provider |
| ๐ต Jira | ๐ง Coming Soon | @opentask/taskin-jira-provider |
| ๐ GitHub Issues | ๐ง Coming Soon | @opentask/taskin-github-provider |
Want to create your own provider? See ARCHITECTURE.md.
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ Requirements
- Node.js >= 20.0.0
- npm/pnpm/yarn
๐ Issues
Found a bug? Have a feature request? Please open an issue.
๏ฟฝ Team
OpenTask
- Website: opentask.com.br
- Email: contato@opentask.com.br
Contributors:
- Sidarta Veloso (@sidartaveloso)
๐ License
MIT ยฉ OpenTask