The NikCLI chat interface is your primary tool for interacting with AI agents. It provides a natural language interface that understands development context and can execute complex tasks through simple conversation.
# Start NikCLInikcli# You'll see the welcome screen╭─────────────────────────────────────────────────────╮│ ││ 🚀 NikCLI v0.1.4 ││ Context-Aware AI Development Assistant ││ │╰─────────────────────────────────────────────────────╯✅ Node.js 18.17.0 (compatible)✅ Git 2.42.0 (detected)✅ Anthropic API (configured)✅ Project context (auto-detected)Ready for autonomous development! Type /help for commands.>
Interactive Mode - Standard conversational interface
Copy
> Create a React component for user authentication🔍 Analyzing project structure...📁 Found React TypeScript project🎯 Creating authentication component...Would you like me to:1. Create a simple login form2. Include registration functionality3. Add password reset featuresPlease specify your requirements.
Features:
Step-by-step guidance
Clarification requests
Manual approval for changes
Learning-friendly explanations
Strategic Planning - Create detailed plans before execution
Copy
> /plan> Implement user authentication system📋 Creating comprehensive plan...## Authentication System Implementation Plan### Phase 1: Backend Setup- JWT token management- User model and database schema- Authentication middleware### Phase 2: API Endpoints- Registration endpoint- Login endpoint- Token refresh logic### Phase 3: Frontend Integration- Login/register forms- Protected route wrapper- Authentication contextDo you want to proceed with this plan? (y/n)
Independent Execution - AI works with minimal supervision
Copy
> /auto> Build a complete blog system with posts, comments, and admin panel🤖 Autonomous mode activated📋 Planning blog system architecture...Executing plan:├── ✅ Database models created├── 🔄 API endpoints implementation├── ⏳ Frontend components└── ⏳ Admin dashboardProgress: 35% complete
> Create a responsive navigation component with mobile hamburger menu, dropdown submenus, and smooth animations using Framer Motion> Implement user authentication with JWT tokens, email verification, password reset, and role-based access control> Add real-time notifications using WebSockets with toast messages, sound alerts, and browser push notifications
What Makes These Effective:
Clear functionality requirements
Specific technology mentions
Implementation details included
Provide Context and Constraints
Context Examples:
Copy
> Following the same pattern as UserCard.tsx, create a ProductCard component with image, title, price, and add-to-cart functionality> Using our existing error handling pattern from authService.ts, add error handling to the payment processing flow> Without adding new dependencies, implement a simple modal system that works with our current React setup
Benefits:
Maintains code consistency
Respects existing patterns
Works within constraints
Reference Existing Code
Reference Examples:
Copy
> Look at the UserService.ts file and create a similar ProductService with CRUD operations for products> Examine the current authentication flow and add OAuth login options while maintaining the same user experience> Based on the styling in components/Button.tsx, create consistent Input and Select components
> I need to implement a dashboard. First, create the layout structure with header, sidebar, and main content areas[After completion]> Now add the sidebar navigation with menu items for users, products, orders, and analytics[After completion]> Finally, create placeholder components for each dashboard section with proper routing
Build features incrementally:
Copy
> Start with a basic search component that just has an input field[Reviews the basic implementation]> Now add autocomplete functionality with debounced API calls[Tests the autocomplete]> Add keyboard navigation and highlighting for search results
Request multiple options:
Copy
> Show me three different approaches for implementing state management in this React app: Redux Toolkit, Zustand, and Context API> I need a modal system. Can you show me implementations using React Portal, a third-party library, and a pure CSS approach?
📝 Ready to modify the following files:┌─ src/components/CheckoutForm.tsx (new file)├─ src/pages/checkout.tsx (modify)├─ src/styles/checkout.css (new file)└─ package.json (add stripe dependency)Changes summary:• Create checkout form component• Add Stripe payment integration• Update routing for checkout page• Install required dependenciesDo you want to proceed? (y/n/details)
Command Execution Approvals
Copy
🔧 Ready to execute the following commands:1. npm install @stripe/stripe-js @stripe/react-stripe-js2. npm run build3. npm test -- checkoutThese commands will:• Install Stripe payment dependencies• Build the project with new changes• Run tests for checkout functionalityApprove execution? (y/n/individual)
Security Approvals
Copy
🛡️ Security approval required:The following operation requires elevated permissions:• Modifying environment variables• Adding API keys to .env file• Creating webhook endpointsRisk level: MEDIUMReason: Adding external service integrationContinue with security review? (y/n/review)
❌ Error encountered during component creation:Error: Cannot find module 'styled-components'🔄 Auto-recovery options:1. Install styled-components dependency2. Switch to CSS modules approach3. Use inline styles temporarilyHow would you like to proceed? (1/2/3/manual)
Copy
⚠️ Merge conflict detected:File: src/components/Header.tsxConflict: Existing navigation vs. new navigationOptions:1. Keep existing and integrate new features2. Replace with new implementation3. Show both versions for manual mergeChoose resolution strategy: (1/2/3)
Copy
⚠️ Code validation failed:TypeScript errors found:• src/types/user.ts:15 - Property 'email' is missing• src/components/Form.tsx:23 - Type mismatch in props🔧 Auto-fix available:1. Add missing type definitions2. Update component prop typesApply auto-fixes? (y/n/review)
> /ag[Tab]Completions:/agent - Run specific agent/agents - List available agents/auto - Autonomous mode> /agent [Tab]Available agents:universal-agent - Full-stack developmentreact-expert - React specializationbackend-agent - API development
> Create a component for [Tab]Suggestions based on project:- user authentication (missing)- shopping cart (in progress)- product catalog (planned)- payment form (discussed earlier)
# Set color schemenikcli config set color-scheme darknikcli config set color-scheme lightnikcli config set color-scheme auto# Custom color configurationnikcli config set colors.primary "#4EC5F1"nikcli config set colors.success "#00D4AA"nikcli config set colors.warning "#FFB800"
Display Preferences
Copy
# Enable/disable animationsnikcli config set animations true# Set verbose outputnikcli config set verbose-output true# Configure progress indicatorsnikcli config set show-progress truenikcli config set progress-style detailed
Interaction Settings
Copy
# Auto-approval settingsnikcli config set auto-approve-low-risk true# Confirmation preferencesnikcli config set require-confirmation false# Timeout settingsnikcli config set response-timeout 120
# Enable chat history/history on# Save current session/save-session "authentication-implementation"# Load previous session/load-session "authentication-implementation"# List all sessions/sessions
Begin with basic requests and gradually increase complexityExample progression:
“Create a button component”
“Add click handlers and props”
“Include loading states and variants”
“Add accessibility features”
Use Planning Mode
For complex features, use planning mode first
Copy
/plan create "user authentication system"# Review the plan/plan execute
Provide Feedback
Help NikCLI learn your preferences“This looks good, but can you make the styling more consistent with our design system?”“Perfect! Use this same pattern for the other components.”
Review Changes
Always review generated code before final approval
Copy
# Review diffs are shown automatically in the UI# To clear cached approvals in this session:/clear-approvals
The chat interface learns from your interactions. The more you use it, the better it becomes at understanding your coding style and project requirements.