Task management system integrated with Git workflows
npm install 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.


- π― 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
``bash
npx taskin init
npm install -g taskin
pnpm add -g taskin
yarn global add taskin
`
> Note: Please report any issues on GitHub.
Taskin is built as a modular ecosystem. Besides the CLI, you can use individual packages:
| Package | Description | npm |
| --------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------- |
| taskin | Complete CLI + programmatic API |  |
| @opentask/taskin-types | TypeScript types and Zod schemas | Coming soon |
| @opentask/taskin-core | Core task management logic | Coming soon |
| @opentask/taskin-task-manager | Task lifecycle orchestration | Coming soon |
| Provider | Description | Status | npm |
| ----------------------------------------- | ------------------------------------- | -------------- | ----------- |
| @opentask/taskin-file-system-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 | - |
| 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!
1. 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)
2. List all tasks:
\\\bash
taskin list
\\\
3. Start working on a task:
\\\bash
taskin start task-001
\\\
- taskin init - Initialize Taskin in your project with interactive setuptaskin list [options]
- - List all tasks--open
- - Show only open tasks (pending, in-progress, blocked)--closed
- - Show only closed tasks (done, canceled)--status
- - Filter by specific status--type
- - Filter by task typetaskin new
- - Create a new task (alias: create)taskin start
- - Start working on a task (suggests commits)taskin pause
- - Pause work on a task (auto-commits work in progress)taskin finish
- - Complete a task (suggests commits)taskin stats [options]
- - Show statistics--user
- - User statistics--team
- - Team statistics--period
- - Time period for statstaskin config [options]
- - Configure automation level--level
- - Set commit automation leveltaskin lint
- - Validate task filestaskin dashboard [options]
- - Start the web dashboard--filter-open
- - Show only open tasks--filter-closed
- - Show only closed taskstaskin mcp-server
- - Start MCP server for Claude Desktop integration (alias: mcp)taskin help
- - Show help information
Taskin supports three automation levels for git commits:
- manual - You're in control: all commits are suggestions only
- assisted (default) - Smart suggestions: auto-commits status changes, suggests work commits
- autopilot - Let Taskin drive: auto-commits everything
Configure with: taskin config --level
Taskin includes an MCP server that allows AI assistants like Claude Desktop to interact with your tasks:
`bash`
taskin mcp-server
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
`json`
{
"mcpServers": {
"taskin": {
"args": ["taskin@beta", "mcp-server"],
"command": "npx"
}
}
}
Or if installed globally:
`json`
{
"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
Taskin can also be used as a library in your TypeScript/JavaScript projects:
`bash`
npm install taskin
`typescript
import { 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);`
Taskin is written in TypeScript and exports full type definitions:
`typescript
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});`
}
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.
Use the taskin new command to create new task files:
Simply run without arguments for a guided experience:
`bash`
taskin new
You'll be prompted to select:
- Task type (feat, fix, refactor, docs, test, chore)
- Title
- Description (optional)
- Assignee (optional)
Or provide all options directly:
`bashCreate a new feature task
taskin new -t feat -T "Add user authentication" -d "Implement JWT-based auth" -u "John Doe"
Options:
-
-t, --type - Task type: feat, fix, refactor, docs, test, chore
- -T, --title - Task title (required in command-line mode)
- -d, --description - Task description
- -u, --user - Assigned userThe command will:
1. Auto-generate a task number (e.g., 05)
2. Create a markdown file in
TASKS/ directory
3. Use a slug from the title for the filename
4. 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-file-system-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.
Contributions are welcome! Please feel free to submit a Pull Request.
- Node.js >= 20.0.0
- npm/pnpm/yarn
Found a bug? Have a feature request? Please open an issue.
OpenTask
- Website: opentask.com.br
- Email: contato@opentask.com.br
Contributors:
- Sidarta Veloso (@sidartaveloso)
MIT Β© OpenTask