Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NaruhoDocsNew to Visual Studio Code? Get it now.
NaruhoDocs

NaruhoDocs

NaruhoDocs

|
1 install
| (0) | Free
A VSCode extension that could help in documentation writing and reading.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NaruhoDocs

This is the solution for CodeNection 2025 by Team JavaMee.

  • Track: Industry Collaboration

  • Problem Statement: Fix the Docs: Smarter, Faster, Maintainable Documentation for the Real World by iFAST

  • Demo Video Link: https://youtu.be/rfUmCF43YKQ

  • Presentation Slides: https://drive.google.com/file/d/1tFBbk_pSKgqsaI_AQzWGRXcjQ_s2oSiv/view?usp=sharing

NaruhoDocs is a AI-powered VSCode extension that could help in documentation writing and reading.

Features

  • Separate AI conversations for different documents
    • Document-based chatbot: AI assistant that understands the content of a specific document and can answer questions directly based on it.
    • General purpose chatbot: A versatile chatbot for various queries.
  • Beginner / developer mode: Switch between modes tailored for different user experiences.
  • Generate documentation from scratch: Automatically create documentation for your projects.
  • Template suggestion to create documentation: Get suggestions for documentation templates.
  • Summarize document: Get a quick summary of your document.
  • Translate document: Translate your documents into different languages.
  • Editing helper:
    • Grammar Checking: Check and correct grammatical errors.
    • Markdown validators: Ensure your markdown is well-formed.
  • AI-generated Visualizations:
    • Architecture visualization
    • Folder structure visualization
    • Document relations visualization
  • LLM Integration:
    • Use out-of-the-box LLM providers.
    • Bring your own key (BYOK).
    • Use local LLMs.

Technologies Used

  • TypeScript: Primary language for the extension.
  • VS Code API: For building the extension and integrating with the editor.
  • LangChain & Google Gemini: For Large Language Model (LLM) integration and AI features.
  • esbuild: For bundling the extension.
  • Mermaid.js, D3.js, Vis.js: For creating visualizations.
  • HTML/CSS/JavaScript: For the webview-based UI components.

Usage

Once installed, you can use the following commands from the command palette (Ctrl+Shift+P):

  • NaruhoDocs: Start NaruhoDocs: Starts the extension.
  • NaruhoDocs: Configure LLM Provider: Configures the LLM provider.
  • NaruhoDocs: Test LLM Connection: Tests the connection to the LLM provider.
  • NaruhoDocs: Select Local Model: Selects a local model.
  • NaruhoDocs: Show Provider Status: Shows the status of the LLM provider.
  • NaruhoDocs: 🏗️ Visualize Architecture: Visualizes the project architecture.
  • NaruhoDocs: 📁 Visualize Folder Structure: Visualizes the folder structure.
  • NaruhoDocs: 🔗 Visualize Document Relations: Visualizes the document relations.
  • NaruhoDocs: 📊 Show Visualization Menu: Shows the visualization menu.
  • NaruhoDocs: 🔄 Reset Chat Conversation: Resets the chat conversation.

Configuration

You can configure the extension by going to File > Preferences > Settings and searching for NaruhoDocs.

  • naruhodocs.llm.provider: LLM provider option to use (byok, local). Default now byok (Cloud / API Key). Legacy ootb is migrated automatically.
  • naruhodocs.llm.apiKey: API key for BYOK mode.
  • naruhodocs.llm.localBackend: Local LLM backend to use (ollama, lmstudio, llamacpp, textgen, custom).
  • naruhodocs.llm.localModel: Local model name for local LLM.
  • naruhodocs.llm.localUrl: Local LLM server URL.
  • naruhodocs.visualization.defaultLibrary: Default visualization library to use (mermaid, d3, vis).
  • naruhodocs.visualization.enableInteractive: Enable interactive visualization features.
  • naruhodocs.visualization.maxFileAnalysis: Maximum number of files to analyze for large projects.
  • naruhodocs.logging.verbose: When true, writes structured LLM request/response log lines (with provider, task, timing, token estimates) to the dedicated NaruhoDocs LLM Output panel. Default: false.
  • naruhodocs.llm.defaultModel: Global default model for Cloud (BYOK) provider when no per-task override is set.
  • Per-task model overrides (blank = fallback to defaultModel then provider fallback):
    • naruhodocs.llm.models.chat
    • naruhodocs.llm.models.summarize
    • naruhodocs.llm.models.readFiles
    • naruhodocs.llm.models.analyze
    • naruhodocs.llm.models.translate
    • naruhodocs.llm.models.generateDoc
    • naruhodocs.llm.models.visualizationContext

Model Resolution Order:

  1. Explicit override passed internally (future programmatic usage)
  2. Internal policy hint (hard-coded default for task, if any)
  3. Per-task setting
  4. naruhodocs.llm.defaultModel
  5. Provider-specific fallback (naruhodocs.llm.localModel for local, gemini-2.0-flash otherwise)

Existing sessions retain the model they were created with (session logs stay historically accurate even after you change settings). Reset a chat ("Reset Chat Conversation") to pick up new model overrides.

Installation

Prerequisites

  • Node.js
  • npm

Setup

  1. Clone the repository:
    git clone https://github.com/shinyeongbeh/NaruhoDocs.git
    
  2. Install dependencies:
    cd naruhodocs
    npm install --legacy-peer-deps
    

Environment Variables

The former "Out-of-the-box" (OOTB) provider has been removed. On first activation the extension will prompt for an API key (Cloud / BYOK). If you skip entry it will automatically fall back to Local runtime models.

  1. Create a file named .env in the root directory of the project.

  2. Add your Google API key to the .env file as follows:

    GOOGLE_API_KEY="YOUR_API_KEY_HERE"
    

    Replace "YOUR_API_KEY_HERE" with your actual Google API key.

Build

npm run compile

Watch

npm run watch

Run Tests

npm run test
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft