Sabin gives your AI agent a structured workflow system, right in your codebase. Sabin is composed of a CLI, a VS code extension, and a set of prompts that power a workflow for planning and managing agentic tasks.
Sabin manages work through simple markdown files with YAML frontmatter, organized in a .sabin directory:
.sabin/
tasks/
open/TASK-0001.md # Initial requirements
open/TASK-0002.md # Ready for implementation
completed/TASK-0003.md # Done and committed
plans/ # Implementation plans
research/ # Context and research
Each task moves through a clear lifecycle:
- open → Initial requirements, needs planning
- ready → Planned and ready for implementation
- review → Implementation done, needs testing/review
- completed → Approved and committed
Because tasks are just markdown files in your repo:
- AI agents can read and write them directly - no API required
- Version controlled with your code - full history in git
- Edit in your local editor - VS Code, Vim, whatever you use
- No web UI context switching - everything stays in your workspace
- Works across all your projects - same simple structure everywhere
The Sabin CLI gives AI agents tools to manage the workflow:
sabin task create -t "Add authentication" -c "Implement JWT-based auth"
sabin task list --status ready
sabin task update TASK-0001 review
Your AI agent can use these commands to:
- Create tasks as it discovers work
- Track what it's currently implementing
- Mark tasks for your review
- Query its backlog
The VS Code extension visualizes your workflow without leaving the editor:
- Sidebar view showing tasks by status
- Zero configuration - activates when .sabin directory detected
- Create
Traditional project management tools were built for humans coordinating with humans. Sabin is built for the developer+AI workflow:
- Prompt files live with tasks - plans and research right in .sabin
- Agents track their own work - no manual status updates needed
- Simple file format - easy for AI to parse and generate
- Node.js v16 or higher
- npm v7 or higher
- VS Code (for the extension)
- Clone the repository:
git clone https://github.com/yourusername/sabin.git
cd sabin
- Install dependencies:
npm install
- Build all packages:
npm run build
- Build the extension:
cd packages/vscode-extension
npm run compile
npx @vscode/vsce package
- Install the generated VSIX file in VS Code:
- Open VS Code
- Press
Cmd+Shift+P
(Mac) orCtrl+Shift+P
(Windows/Linux) - Type "Extensions: Install from VSIX..."
- Select the
sabin-vscode-0.1.0.vsix
file frompackages/vscode-extension/
- Open the project in VS Code:
code .
- Navigate to the extension directory:
cd packages/vscode-extension
- Press
F5
to launch a new VS Code window with the extension loaded in development mode
code --uninstall-extension sabin.sabin-vscode
cd packages/cli
npm link
Now you can use the sabin
command globally:
sabin --help
Sabin can be installed as a Claude Code plugin for seamless workflow integration.
-
Install the Sabin CLI:
cd packages/cli npm link sabin --version # Verify installation
-
Install Claude Code (if not already installed)
From Claude Code:
# Add the Sabin marketplace (use absolute path to your Sabin repo)
/plugin marketplace add /path/to/sabin
# Install the plugin
/plugin install sabin@sabin-local
/sabin-create
- Create a new task from requirements/sabin-plan
- Create an implementation plan for a task/sabin-implement
- Implement a task based on its plan/sabin-complete
- Complete and commit a task
See .claude-plugin/README.md
for detailed plugin documentation.
Note: The plugin, CLI, and VS Code extension are separate installations that work together.
Sabin uses a configuration file at .sabin/config.json
to customize project settings.
You can configure a custom prefix for auto-generated task IDs:
# Initialize with custom prefix
sabin init --prefix MYPROJECT
# Or initialize with default prefix (TASK)
sabin init
The configuration file (.sabin/config.json
) has the following structure:
{
"projectPrefix": "TASK",
"taskNumberPadding": 4
}
Examples:
- Default:
TASK-0001
,TASK-0002
, etc. - Custom:
MYPROJECT-0001
,MYPROJECT-0002
, etc.
You can link tasks from external systems (JIRA, Linear, Notion, etc.) by providing custom task IDs:
# Create task with external JIRA ID
sabin task create -t "Fix authentication bug" -n JIRA-12345
# Create task with Notion ID
sabin task create -t "Architecture review" -n NTVARCH-23252
- View tasks organized by status in the sidebar
- Create new tasks with the "New Task" button
- Update task status by clicking on a task
The Sabin CLI provides file-based workflow commands that enable AI agents to manage their own task lifecycle. Agents can create tasks with sabin task create, track work across statuses (open → ready → review → completed) using sabin task update, and query current work with sabin task list. The file-based architecture using markdown with YAML frontmatter allows agents to both use structured CLI commands and directly read/write task files, giving them flexible programmatic access to the entire workflow state.
# Initialize project
sabin init # Default prefix (TASK)
sabin init --prefix MYPROJECT # Custom prefix
# Create a new task
sabin task create -t "Title" -c "Content"
sabin task create -t "Title" -n JIRA-123 # With external ID
sabin task create # Interactive mode (prompts for input)
# List all tasks
sabin task list
# List tasks by status
sabin task list -s open
# Update task status
sabin task update TASK-0001 ready
MIT