UNPKG

@tosin2013/kanbn

Version:

A CLI Kanban board with AI-powered task management features

126 lines (83 loc) 3.95 kB
# AI-Powered Initialization Kanbn now includes AI-powered initialization to help you set up your project board more efficiently. This feature uses AI to suggest appropriate columns, task structures, and initial tasks based on your project description. ## Getting Started To use AI-powered initialization, run: ```bash kanbn init --ai ``` You can also provide a project name and description: ```bash kanbn init --ai --name "My Project" --description "This is a project for..." ``` ## How It Works The AI-powered initialization process follows these steps: 1. **Project Information**: You provide a project name and description. 2. **Repository Detection**: If you're initializing in an existing repository, the system automatically detects it and includes repository information in the AI prompts. 3. **Project Type Detection**: The AI analyzes your project information and suggests appropriate columns based on the detected project type. 4. **Column Confirmation**: You can accept the suggested columns or customize them. 5. **Board Initialization**: The system creates your Kanbn board with the selected columns. 6. **Initial Tasks**: The AI suggests initial tasks to help you get started with your project, tailored to your repository if applicable. ## Features ### Memory Persistence The AI-powered initialization feature includes memory persistence, which means: - Your conversation with the AI is saved between sessions - The AI can reference previous interactions - Context is maintained across different commands Memory is stored in `.kanbn/chat-memory.json`. ### Custom Prompts You can customize the prompts used by the AI by creating a `.kanbn/init-prompts/` directory and adding your own prompt files: - `project-type.md`: For detecting project type and suggesting columns - `class-of-service.md`: For suggesting Classes of Service - `timebox-strategy.md`: For suggesting timebox strategies - `initial-tasks.md`: For suggesting initial tasks If custom prompts are not found, the system will use default prompts. ## Command Options The `init --ai` command supports the following options: | Option | Description | |--------|-------------| | `--name` | Project name | | `--description` | Project description | | `--column` | Predefined columns (comma-separated) | | `--api-key` | OpenRouter API key (overrides environment variable) | | `--model` | AI model to use (defaults to google/gemma-3-4b-it:free) | | `--message` | Custom message to guide the AI (e.g., "Create a blog website") | ## Environment Variables The AI-powered initialization uses the following environment variables: - `OPENROUTER_API_KEY`: Your OpenRouter API key - `OPENROUTER_MODEL`: The AI model to use (defaults to google/gemma-3-4b-it:free) - `OPENROUTER_STREAM`: Set to 'false' to disable streaming responses You can set these in a `.env` file in your project root. ## Examples ### Basic Initialization ```bash kanbn init --ai ``` ### Initialization with Project Details ```bash kanbn init --ai --name "Web App Development" --description "A project to develop a web application for customer management" ``` ### Using a Specific Model ```bash kanbn init --ai --model "anthropic/claude-3-opus:beta" ``` ### Using a Custom Message ```bash kanbn init --ai --message "Create a blog website with user authentication and comment system" ``` ### Initializing in an Existing Repository ```bash # Navigate to your existing repository cd my-existing-project # Initialize with AI kanbn init --ai --message "Create a task board for this project" ``` ## Troubleshooting If you encounter issues with AI-powered initialization: 1. Ensure your OpenRouter API key is set correctly 2. Check that you have internet connectivity 3. Try using the `--api-key` option to provide the key directly 4. If the AI is not generating appropriate suggestions, try providing a more detailed project description For more help, run: ```bash kanbn help init ```