UNPKG

@tosin2013/kanbn

Version:

A CLI Kanban board with AI-powered task management features

346 lines (256 loc) 7.67 kB
# Getting Started with Kanbn This guide will help you get started with Kanbn, a powerful task management tool that combines Kanban methodology with AI capabilities. ## What is Kanbn? Kanbn is a modern CLI tool that revolutionizes task management by combining: - Traditional Kanban board functionality - AI-powered task assistance and automation - Integrated documentation generation - Project memory and context awareness - Seamless Git integration ## Quick Start Guide ### 1. Installation You can install Kanbn either globally using npm or run it using a container: #### Option 1: NPM Installation ```bash # Install globally using npm npm install -g @tosin2013/kanbn # Verify installation kanbn --version ``` #### Option 2: Container Usage ```bash # Pull the latest container image docker pull quay.io/takinosh/kanbn:latest # Run Kanbn commands using the container docker run -it --rm \ -v $(pwd):/workspace \ -e OPENROUTER_API_KEY=$OPENROUTER_API_KEY \ quay.io/takinosh/kanbn:latest kanbn <command> ``` When using the container: - Your current directory is mounted as `/workspace` inside the container - Environment variables (like `OPENROUTER_API_KEY`) can be passed using `-e` flag - All Kanbn commands are available through the container - Files created/modified by Kanbn will have the correct permissions on your host system For detailed container usage instructions, advanced configurations, and best practices, refer to our [Docker Guide](DOCKER.md). ### 2. Project Initialization ```bash # Create and enter project directory mkdir my-project cd my-project # Initialize Kanbn kanbn init ``` ### 3. First Steps ```bash # Create your first task kanbn task add "Setup project structure" # View your board kanbn list # Get AI assistance kanbn chat "Help me plan my project tasks" ``` ## Core Concepts ### Project Structure ``` your-project/ ├── .kanbn/ # Task management directory │ ├── tasks/ # Individual task files │ ├── index.md # Board configuration │ └── chat-memory.json # AI chat history ├── docs/ # Project documentation │ ├── architecture.md # System architecture │ └── technical.md # Technical details └── package.json # Project configuration ``` ### Task States - **Backlog**: Planned but not started - **In Progress**: Currently being worked on - **Done**: Completed tasks - Custom states can be configured in `index.md` ### AI Integration - Task generation and refinement - Project context awareness - Documentation assistance - Code generation support ## Configuration ### Required Setup 1. Environment Variables: ```bash # Create .env file touch .env # Required for AI features OPENROUTER_API_KEY=your_api_key_here ``` ### Optional Configuration 1. Project-specific settings in `.kanbnrc`: ```yaml defaultColumn: Backlog aiModel: gpt-4-turbo ``` 2. Git integration settings in `.gitconfig` ## Task Management Guide ### Creating Tasks ```bash # Basic task creation kanbn task add "Implement user authentication" # Task with description and metadata kanbn task add "Setup CI/CD pipeline" \ --description "Configure GitHub Actions for automated testing and deployment" \ --tags "devops,infrastructure" \ --priority high # Create task in specific column kanbn task add "Review PR #123" --column "In Progress" # Create task with dependencies kanbn task add "Deploy to production" \ --depends-on "setup-ci-cd,run-tests" ``` ### Task Properties Tasks can include: - **Title**: Clear, actionable description - **Description**: Detailed markdown-supported content - **Tags**: Categorization labels - **Priority**: Importance level (low, medium, high) - **Dependencies**: Related task IDs - **Assignee**: Team member responsible - **Due Date**: Completion deadline - **Custom Fields**: Project-specific metadata ### Managing Tasks ```bash # View task details kanbn task show task-id # Edit task kanbn task edit task-id # Move task between columns kanbn task move task-id "In Progress" # Add comment to task kanbn task comment task-id "Updated API endpoints" # Mark task as blocked kanbn task block task-id "Waiting for API access" # Set task priority kanbn task set task-id priority high # Assign task kanbn task assign task-id "username" # Set due date kanbn task set task-id due "2024-03-20" ``` ### Task Organization ```bash # List tasks by column kanbn list # Filter tasks by tag kanbn list --tag frontend # Sort tasks by priority kanbn list --sort priority # Search tasks kanbn search "API" # Export tasks kanbn export tasks.json # Generate task report kanbn report --format markdown ``` ### Task Automation with AI ```bash # Generate task suggestions kanbn ai suggest "frontend improvements" # Break down complex task kanbn ai decompose task-id # Estimate task complexity kanbn ai estimate task-id # Get next task recommendation kanbn ai next # Generate task documentation kanbn ai document task-id ``` ### Task Templates ```bash # Save task as template kanbn template save task-id "bug-report" # Create task from template kanbn task add --template "bug-report" # List available templates kanbn template list ``` ### Best Practices for Tasks 1. **Task Creation** - Use verb-noun format for titles - Include acceptance criteria - Set realistic due dates - Add relevant tags for filtering 2. **Task Management** - Update status regularly - Add progress comments - Link related tasks - Track blockers 3. **Task Organization** - Use consistent tagging - Maintain task dependencies - Regular backlog grooming - Archive completed tasks ## Essential Commands ### Task Management ```bash kanbn task add "Task name" # Create task kanbn task move <id> "Done" # Move task kanbn task edit <id> # Edit task kanbn list # View board ``` ### AI Features ```bash kanbn chat "Plan next sprint" # AI chat kanbn generate docs # Generate docs kanbn analyze # Project analysis ``` ### Documentation ```bash kanbn docs build # Build docs kanbn docs serve # Preview docs ``` ## Best Practices 1. **Task Creation** - Use clear, actionable titles - Include acceptance criteria - Tag tasks appropriately 2. **AI Interaction** - Provide specific context - Use project memory - Leverage code generation 3. **Documentation** - Keep docs updated - Use AI for maintenance - Follow standard formats ## Troubleshooting ### Common Issues 1. **AI Features** - Verify API key setup - Check network connectivity - Confirm model availability 2. **Task Management** - Validate `.kanbn` structure - Check file permissions - Verify task IDs 3. **Dependencies** - Run `npm audit` - Update packages regularly - Check compatibility ## Next Steps 1. Explore [AI Features](ai-features.md) for advanced automation 2. Learn about [Advanced Configuration](advanced-configuration.md) 3. Review the [Command Reference](commands.md) 4. Understand [Task Structure](task-structure.md) ## Getting Help - Use `kanbn help` for command documentation - Check our [GitHub repository](https://github.com/tosin2013/kanbn) - Join our community discussions - Submit issues for bugs or features ## Contributing See our [Contribution Guide](CONTRIBUTING.md) for: - Development setup - Code standards - Testing requirements - PR process ## Version Compatibility - Node.js >= 8.0.0 - Git (latest stable version) - NPM >= 6.0.0 Remember to check our [Changelog](CHANGELOG.md) for recent updates and breaking changes.