{"_id":"@codemaverick-143/codenarrator","_rev":"7-a4a277ab61936c539dd9a31551e96b07","name":"@codemaverick-143/codenarrator","dist-tags":{"latest":"2.0.5"},"versions":{"1.0.0":{"name":"@codemaverick-143/codenarrator","version":"1.0.0","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.0","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"36be43a387c6316ee45745abbdde09d0299dc0a2","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.0.tgz","fileCount":9,"integrity":"sha512-MPlPfvbpYyu+Tz+4jzzr4Kn4twGlmarydCgImKUcNG8kRY1ZoBxs9ExrhmmH0vXDEZYlupChd4fnoWuNu2IdTw==","signatures":[{"sig":"MEUCIQDyBdKoPE7ZTiy+IHLF5RnO3ZnuqsJ+nIj5uiuwiHa9QAIgU4nUB3P/pCZv2wz6g0aMOI+1lNuqpywsJOjDKUjsDCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21933},"main":"bin/cli.js","type":"module","gitHead":"6f3eb3e51ebbd985e8f058f224ce43fa60fb1e7e","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","actor":{"name":"codemaverick-143","type":"user","email":"arpitsarang2020@gmail.com"},"email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"11.4.1","description":"✨ AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.0_1751433874476_0.08606603447223327","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@codemaverick-143/codenarrator","version":"1.0.1","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.1","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"4aba8de4646d7c5c8b8d258ac056960ad384a7b1","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.1.tgz","fileCount":11,"integrity":"sha512-6EwCiWwGsHijrC+na9z+iCPqJRyxB8srgo3Dh5imiTcXrKbuzcBMnsovzOcEV2x1QzpBz4B06GXtcWRJ1SiaHw==","signatures":[{"sig":"MEUCICGNfQS/PXZjjPng41CZzoiIMMuI5S8UbgAC+SHbbMMnAiEAhwM9JhyVAkko6ounIUaVLlgGJG1+y0nMlvgqwfoFNJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23838},"main":"bin/cli.js","type":"module","gitHead":"1ebff15c0d9ab2126a377360b3f7e347b4f8bc3f","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","actor":{"name":"codemaverick-143","type":"user","email":"arpitsarang2020@gmail.com"},"email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"11.4.1","description":"✨ AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.1_1751437242853_0.4506716670236248","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@codemaverick-143/codenarrator","version":"1.0.2","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.2","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"56c16862437f54cb05984e8dec190c0a0817cbe9","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.2.tgz","fileCount":11,"integrity":"sha512-FiZJfUmqTK+aMfps3RFfAXh5IaKMjHGcClGvUMzW53+kl/Qx7z/POCUm/Snj2gpwQGEXSOaDegd4USbT7D73ZQ==","signatures":[{"sig":"MEUCIQDshZrs4+B4/YDNF8reZX3f2jaV6qZFjNNoBtdkVzXs1gIgY6lp05XXApCM3AO+GQQBOPWPn0CLl+r19Y8XL0h64d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23838},"main":"bin/cli.js","type":"module","gitHead":"f45a2a99d1b96a4f34bd3526b871cb2be44ce308","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","actor":{"name":"codemaverick-143","type":"user","email":"arpitsarang2020@gmail.com"},"email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"11.4.1","description":"✨ AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.2_1751437519919_0.7003321027784175","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@codemaverick-143/codenarrator","version":"1.0.3","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.3","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"ca8a96d12772eb3fd4d440b9deacdf3d014806db","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.3.tgz","fileCount":11,"integrity":"sha512-GvFWZCY396mAB2jmuY4H9sR6F86S6fCU+NWKiASXa+ku3ydwfz9/UVcScIrMxr/N+wEmn7VbnhIjLuzfpWzD0w==","signatures":[{"sig":"MEYCIQDvqV3msc/9dzleS5ObDHta+0YR55WL7weiHkEO5Cd7lwIhANDmQTMfxhwk4F7DuWgk12aIn9NT9UBacKMDQyvKqX3K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23606},"main":"bin/cli.js","type":"module","gitHead":"e745bcb902a00376b0d96b874842f1602ab67518","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","actor":{"name":"codemaverick-143","type":"user","email":"arpitsarang2020@gmail.com"},"email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"11.4.1","description":"✨ AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.3_1751438298591_0.4590570091232682","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@codemaverick-143/codenarrator","version":"1.0.4","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.4","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"86230cbedb22fc2e139edb16c13c70430d4cdafe","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.4.tgz","fileCount":12,"integrity":"sha512-gk+xKJvTZil5D9XdAqFwQ5X0XiYIcP6whHRVRJXrMmFHqxOsaO/hghnVrjVThKuHzihRLx95U6iOHdj9/XW7ZA==","signatures":[{"sig":"MEUCIQDD05/FlZA/SZNcPmcvpMYRtAGVC8yudhdw9ztLIG4XmwIgA8IeB6/bMblQpP8DnKJS41Escdgkr4tgGQFZzTeJms8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25716},"main":"bin/cli.js","type":"module","gitHead":"3b203d5447ab7858d5a6340e3cc996c11dd2a76c","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","actor":{"name":"codemaverick-143","type":"user","email":"arpitsarang2020@gmail.com"},"email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"11.4.1","description":"✨ AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"23.7.0","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.4_1751451652521_0.6062577528970292","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@codemaverick-143/codenarrator","version":"1.0.5","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","_id":"@codemaverick-143/codenarrator@1.0.5","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"bin":{"codenarrator":"bin/cli.js"},"dist":{"shasum":"40b99683a39f70530cab5dd9565c1222efd226a6","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-1.0.5.tgz","fileCount":8,"integrity":"sha512-BPkQLN+L9Ua+c3iXFAdQTX/6LEyJ3Ep12GDMx+Agm0m4z5ZgmZtkXg24PGhFoIi65hz5BT0xgoLHBHeJW/7DGw==","signatures":[{"sig":"MEUCIQDjF7pCt2J54cqCvXYrEecIaXYN8kvLq/9whYcnYz034QIgW8XcbGxE23RDoPecIno6+pCZERai0LAarubmUTHCKfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24422},"main":"bin/cli.js","type":"module","gitHead":"de653818916b061af6f28f34a15ecfa7afb16dd2","scripts":{"test":"echo \"No test script defined. Use CLI: 'codenarrator ./src --output ./docs'\" && exit 0","start":"node ./bin/cli.js"},"_npmUser":{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"},"repository":{"url":"git+https://github.com/ExplainHub/CodeNarrator.git","type":"git"},"_npmVersion":"10.8.2","description":"AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ora":"^8.2.0","glob":"^10.3.10","chalk":"^5.4.1","dotenv":"^17.0.1","fs-extra":"^11.3.0","commander":"^14.0.0","@google/generative-ai":"^0.24.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/codenarrator_1.0.5_1753872501939_0.7389307116714248","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@codemaverick-143/codenarrator","version":"2.0.5","description":"AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","main":"bin/cli.js","bin":{"codenarrator":"bin/cli.js"},"type":"module","scripts":{"start":"node ./bin/cli.js","test":"node test-models.js"},"engines":{"node":">=18"},"keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ExplainHub/CodeNarrator.git"},"bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"homepage":"https://github.com/ExplainHub/CodeNarrator#readme","dependencies":{"@google/generative-ai":"^0.24.1","chalk":"^5.3.0","commander":"^12.1.0","dotenv":"^16.4.5","fs-extra":"^11.2.0","glob":"^10.3.10","ora":"^8.2.0"},"gitHead":"27573c0afaa2d2b464fcaa08fa92a7a4206c3f34","_id":"@codemaverick-143/codenarrator@2.0.5","_nodeVersion":"20.19.4","_npmVersion":"11.6.2","dist":{"integrity":"sha512-3wF/pZIZ1uuXivT8O5rxmZYnRRmkVeXGdlFWPX1eUJTegb3a/34BMbwi4ceOvklDSnGVAsGZsxleNofPrVv0Pw==","shasum":"0515db4072f71c9a9f34de533fa30c71daf0e280","tarball":"https://registry.npmjs.org/@codemaverick-143/codenarrator/-/codenarrator-2.0.5.tgz","fileCount":12,"unpackedSize":39609,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDAmPxTEJoCWUtLDGgVSewc2AMCSeLKBB5M7cd6xxhn6QIhAL0ElzG38hl2yyTSBNqc/CRP4vGUQOLnp96BnDZWLqMx"}]},"_npmUser":{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"},"directories":{},"maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codenarrator_2.0.5_1762030950638_0.4987233481683846"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-02T05:24:34.401Z","modified":"2025-11-01T21:02:31.043Z","1.0.0":"2025-07-02T05:24:34.656Z","1.0.1":"2025-07-02T06:20:43.049Z","1.0.2":"2025-07-02T06:25:20.086Z","1.0.3":"2025-07-02T06:38:18.776Z","1.0.4":"2025-07-02T10:20:52.717Z","1.0.5":"2025-07-30T10:48:22.117Z","2.0.5":"2025-11-01T21:02:30.843Z"},"bugs":{"url":"https://github.com/ExplainHub/CodeNarrator/issues"},"author":{"name":"Arpit Sarang","email":"nexawebs.tech@gmail.com"},"license":"MIT","homepage":"https://github.com/ExplainHub/CodeNarrator#readme","keywords":["cli","ai","gemini","openai","developer-tools","documentation","codebase","code-explainer","code-analysis","code-narration","explainhub"],"repository":{"type":"git","url":"git+https://github.com/ExplainHub/CodeNarrator.git"},"description":"AI-powered CLI tool that explains entire codebases in plain English using Gemini or OpenAI.","maintainers":[{"name":"codemaverick-143","email":"arpitsarang2020@gmail.com"}],"readme":"# CodeNarrator - Understand Any Codebase Instantly\n\n> An AI-powered CLI & Web tool that automatically explains codebases in plain English...\n\n---\n\n## Vision\n\n**CodeNarrator** aims to bridge the gap between complex code and developer understanding. Whether you're a beginner exploring a new open-source repo, a maintainer reviewing a PR, or an engineer returning to your own old code — CodeNarrator helps you understand any codebase faster and with less effort.\n\nWe believe every developer deserves a tool that makes codebases more readable and approachable.\n\n---\n\n## Key Features\n\n- Explain entire codebases using AI\n- CLI tool for use in terminal\n- Recursive file scanner for JavaScript, TypeScript, Python, and more\n- Outputs structured Markdown documentation\n- Powered by Gemini or GPT-based AI models\n- Planned GitHub PR integration to summarize changes\n\n---\n\n## Tech Stack\n\n| Layer               | Technologies Used                  |\n|---------------------|------------------------------------|\n| CLI Tool            | Node.js, Commander.js, Chalk       |\n| AI Integration      | Gemini API (via Google SDK)        |\n| File Scanning       | fs, glob                           |\n| Markdown Generation | Markdown, fs-extra                 |\n| Web UI (Planned)    | React.js, Tailwind CSS             |\n| Automation (Planned)| GitHub Actions, Pre-push Hooks     |\n\n---\n\n## Project Structure\n\n```\nCodeNarrator/\n|-- bin/\n|   `-- cli.js                # CLI entry point\n|-- src/\n|   |-- analyzer.js           # Scans code and sends to AI (with file size limits)\n|   |-- aiEngine.js           # Lazy-loads Gemini client when needed\n|   `-- writer.js             # Saves generated Markdown\n|-- test-models.js            # Test script (skips gracefully if no API key)\n|-- .codenarratorrc.json      # Optional config\n|-- .env                      # Your Gemini API key (if using dotenv method)\n|-- README.md\n`-- package.json\n\n```\n\n---\n\n## Getting Started (CLI)\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/your-username/CodeNarrator.git\ncd CodeNarrator\n````\n\n### 2. Install dependencies\n\n```bash\nnpm install\n```\n\n### 3. Add Gemini API Key (Required)\n\n**Option A:** Export in your shell environment (recommended, especially for global installs):\n\n```bash\nexport GEMINI_API_KEY=your-key\n```\n\n**Option B:** Create a `.env` file in the project root:\n\n```bash\necho \"GEMINI_API_KEY=your-key\" > .env\n```\n\n**Option C:** Run commands with inline environment variable:\n\n```bash\nGEMINI_API_KEY=your-key codenarrator ./src --output ./docs\n```\n\n**For testing:**\n\n```bash\n# Test API connectivity\nGEMINI_API_KEY=your-key npm test\n\n# Or with dotenv preload\nnode -r dotenv/config test-models.js\n```\n\n### 4. Link CLI globally\n\n```bash\nnpm link\n```\n\n### 5. Run on any codebase\n\n```bash\ncodenarrator ./src --output ./docs --model=gemini\n```\n\n---\n\n## Sample Output\n\nA sample generated file (`docs/utils-logger.md`) might look like this:\n\n```\nFile: utils/logger.js\n\nOverview:\nThis file provides logging utilities for the application.\n\nFunctions:\n- logInfo(msg): Logs informational messages\n- logError(err): Logs errors with stack trace\n\nNotes:\nUses 'chalk' for styled terminal output.\n```\n\n---\n\n## Use Cases\n\n* Understand unfamiliar open-source projects\n* Speed up PR reviews with inline documentation\n* Assist students in grasping legacy or complex code\n* Help new team members onboard quickly\n\n---\n\n## Roadmap\n\n| Version | Feature                                            |\n| ------- | -------------------------------------------------- |\n| 1.0     | CLI with basic AI documentation output             |\n| 1.1     | GitHub PR summarizer integration (planned)         |\n| 1.2     | Multi-language support: JS, Python, etc. (planned) |\n| 1.3     | Web UI for drag-and-drop code analysis (planned)   |\n| 2.0     | VS Code extension with inline explanations         |\n| 2.1     | Team dashboard, history, authentication (planned)  |\n\n---\n\n## Security Note\n\n* Your code is sent to Gemini servers for analysis unless self-hosted.\n* Avoid analyzing confidential or proprietary files.\n* Configuration files like `.env` are excluded from analysis.\n* Files larger than 200KB are automatically skipped to avoid excessive token usage.\n\n---\n\n## Contributing\n\nWe welcome contributions from all developers.\n\n* Open issues and feature suggestions\n* Participate in [GitHub Discussions](https://github.com/your-username/CodeNarrator/discussions)\n* Look for `good first issue` tags to get started\n\n```bash\ngit checkout -b your-feature-branch\nnpm run dev\ngit commit -m \"Add: your feature\"\n```\n\n---\n\n## License\n\nCodeNarrator is licensed under the MIT License.\nYou are free to use, modify, and distribute it.\n\n","readmeFilename":"README.md"}