Your First NikCLI Session

Let’s walk through your first experience with NikCLI and explore its core capabilities.

Starting NikCLI

Open your terminal and start NikCLI:
nikcli
You’ll see the welcome screen with system information and available features:
NikCLI Welcome Screen

Basic Interaction Patterns

Natural Language Commands

NikCLI understands natural language, so you can communicate as you would with a human developer:
> Create a simple React component for a button
NikCLI will analyze your project, understand the context, and create an appropriate React component.

Interactive Modes

NikCLI offers different interaction modes for various workflows:

Chat Mode

Default conversational interface for interactive development

Autonomous Mode

Let AI work independently on complex tasks

Planning Mode

Create and review implementation plans before execution

Your First Development Task

Let’s create a simple project to demonstrate NikCLI’s capabilities:
1

Create a New Project

> Create a new Node.js project for a todo list API with TypeScript
NikCLI will:
  • Create the project structure
  • Set up package.json with appropriate dependencies
  • Configure TypeScript
  • Create basic files and folders
2

Add Core Functionality

> Implement CRUD operations for todos with Express.js and in-memory storage
NikCLI will:
  • Create Express.js server
  • Implement route handlers
  • Add data models and types
  • Include error handling
3

Add Testing

> Add unit tests for the todo API endpoints using Jest
NikCLI will:
  • Configure Jest
  • Create test files
  • Write comprehensive test cases
  • Set up test scripts
4

Review and Run

> Show me what files were created and run the tests
NikCLI will provide a summary and execute the test suite.

Essential Slash Commands

NikCLI includes powerful slash commands for system control and navigation:

Mode Control

Switch to interactive chat mode
> /chat

Information Commands

View current session status and active agents
> /status

File Operations

List files in current directory
> /ls src/

Understanding NikCLI’s Workflow

1. Context Analysis

When you give NikCLI a task, it first analyzes your project:

2. Task Breakdown

Complex tasks are automatically broken down into manageable steps:
Task Breakdown Example

3. Real-time Feedback

NikCLI provides continuous feedback during execution:
🔍 Analyzing project structure...
📁 Found React TypeScript project
🎯 Planning component creation...
✏️  Creating Button.tsx...
✅ Component created successfully
🧪 Running type checks...
✅ All checks passed

Working with Different Project Types

NikCLI adapts to your project’s technology stack:

Best Practices for Beginners

Be Specific

Provide clear, specific instructions for better results✅ “Create a React hook for managing form state with validation”❌ “Make a form thing”

Review Changes

Always review AI-generated code before committingUse /diff to see changes and /approve to confirm

Start Small

Begin with simple tasks and gradually increase complexityBuild confidence with basic operations first

Use Planning Mode

For complex tasks, use /plan to review approachPrevent unexpected changes and maintain control

Common Beginner Scenarios

Scenario 1: Creating Components

> Create a responsive navigation component with mobile menu toggle
What NikCLI does:
  • Analyzes your styling approach
  • Creates component with proper structure
  • Adds responsive CSS/styles
  • Includes accessibility features

Scenario 2: API Integration

> Add a function to fetch user data from the /api/users endpoint
What NikCLI does:
  • Detects your HTTP client (fetch, axios, etc.)
  • Creates typed interfaces for responses
  • Adds error handling
  • Includes loading states if applicable

Scenario 3: Bug Fixes

> The login form is not validating email addresses properly, fix this issue
What NikCLI does:
  • Locates the form component
  • Identifies validation logic
  • Fixes or improves validation
  • Tests the fix

Getting Help

Use the /help command for comprehensive command reference:
> /help

Next Steps

Remember: NikCLI learns from your project context and coding patterns. The more you use it in a project, the better it becomes at understanding your preferences and conventions.