11ku7-ai-nodecoder v1.0.8
11ku7-ai-nodecoder
A Shell-based AI coding assistant for generating code, web apps, creating, refactoring & querying codebases using Google Generative AI or OpenAI Compatible APIs.
Version : 1.0.8
What's new : plan prompt and revised plan prompt are now according to files present in context in editdir mode.
Official Repository : https://github.com/dheeraj21/11ku7-ai-nodecoder
Software Requirements :
Node.js 18+
OS Supported: Linux, Windows through WSL, Termux (Android)
Features
Coding & Web Apps
- Code Mode: Generate and edit code snippets in various languages.
- Webapp Mode: Create and edit single-file HTML web apps with Tailwind CSS and JavaScript.
Creating Codebases, Refactoring Codebases, Querying codebases
- dir Mode: Create Entire Codebases with Multiple files with AI-driven plans using dir mode.
- EditDir Mode: Modify Entire Codebases with multiple files in a directory with AI-driven plans.
- AskDir Mode: Querying project codebases without editing.
Shell Commands
- Shell Mode: Run shell commands using natural language queries.
Analysis Tools
- Digest Mode: Turn entire Codebases/Directory with Multiple files into a single text file.
User Interface
- Interactive UI: Terminal interface with file tree, chat, and syntax highlighting.
Speciality
- Persistent Chat: Stores conversations in markdown for unlimited output length.
Installation
npm install -g 11ku7-ai-nodecoder
once installed set up api keys in a .env file in current directory with:
GEMINI_API_KEY="your_gemini_api_key"
OPENAI_API_KEY="your_openai_api_key"
and finally run with command:
nodecoder
OR
Clone the repository
git clone https://github.com/dheeraj21/11ku7-ai-nodecoder.git
Change directory:
cd 11ku7-ai-nodecoder
Install dependencies:
npm install
Set up api keys in a .env file:
GEMINI_API_KEY="your_gemini_api_key"
OPENAI_API_KEY="your_openai_api_key"
Start the application:
node index.js
Getting Started
Select a provider : (Gemini or OpenAI Compatible) and then select model if gemini or enter base url and model name for OpenAI Compatible Provider.
Use commands : (e.g., /code, /shell) or queries to interact with the AI.
Commands
/copy: Copy code blocks from the last AI response to clipboard or save to temp-clipboard.txt.
/clear: Clear the chat area and reset contexts.
/exit: Exit the application, deleting temporary chat file.
/help: Display commands and key bindings.
/model: Switch AI provider or model.
/code: Toggle code-only mode for generating code snippets.
/webapp: Toggle webapp mode for creating HTML web apps.
/shell: Toggle shell mode for generating and executing bash commands.
/save : Save code blocks from the last AI response to a file.
/editcode : Load a file for code modification.
/askcode : Load a file to ask questions about its code.
/savecon: Save the chat conversation to a markdown file.
/digest path: Toggle digest mode or analyze a directory/file (e.g., /digest ./my_project).
/loadcon : Load a saved chat conversation from a markdown file.
/dir: Toggle dir mode for creating multifile codebase
/editdir : Load a directory for AI-driven file modifications.
/askdir : Load a directory to query its contents.
/desc: Show detailed descriptions of modes, commands, and key bindings.
Key Bindings
Esc: Switch focus to the folder tree for navigation.
i: Focus the single-line input box for queries or commands.
c: Focus the chat area for scrolling conversation history.
s: Focus the save conversation button (Yes/No).
m: Focus the multiline input box for complex queries or error pasting.
q or Ctrl+C: Exit the application.
Up/k (in chat): Scroll chat area up.
Down/j (in chat): Scroll chat area down.
Enter (in tree): Expand/collapse folders or toggle file content display.
Navigation Notes
Use key bindings for UI navigation (e.g., Esc for tree, i for input).
Mouse is for scrolling chat or tree; avoid clicking UI elements while input is active to prevent double input issues.
Use m to access the multiline input box for pasting errors or long queries (e.g., via Ctrl+Shift+V and right-click).
All queries combine single-line and multiline inputs, submitted via the main input box.
License
- This project is licensed under the MIT License. See the
LICENSE
file for details.