{"_id":"@ameeen_mv/mvdoc","name":"@ameeen_mv/mvdoc","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ameeen_mv/mvdoc","version":"0.1.0","description":"AI-powered documentation generator — pulls Jira stories & GitHub code, generates VitePress docs with diagrams and RAG chatbot","type":"module","bin":{"mvdoc":"dist/bin/cli.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"dev":"tsx src/bin/cli.ts","build":"tsc","test":"vitest run","test:watch":"vitest","lint":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["documentation","ai","gemini","jira","github","vitepress","mermaid","rag","cli","docs-generator"],"author":{"name":"Ameen"},"license":"MIT","engines":{"node":">=20.0.0"},"dependencies":{"@google/generative-ai":"^0.21.0","chalk":"^5.3.0","commander":"^12.1.0","dotenv":"^16.4.7","glob":"^11.0.0","handlebars":"^4.7.8","jira.js":"^4.0.2","octokit":"^4.0.3","ora":"^8.1.1","prompts":"^2.4.2"},"devDependencies":{"@types/node":"^22.10.0","@types/prompts":"^2.4.9","tsup":"^8.3.5","tsx":"^4.19.0","typescript":"^5.7.0","vitest":"^2.1.0"},"gitHead":"ccf4dff2568af97ec7b490ec32a13bc45dbc8dca","_id":"@ameeen_mv/mvdoc@0.1.0","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-/dbdaBFNOsxPflQEIc5nEgfk5caiTFKPQw1nOIpcGqJcn1JIVj92pcGgwoqO0RRirgG4oNxRx0cxiiAeAESAUg==","shasum":"8bc2aa5631cd697d63fb895883debaa1af3e28e2","tarball":"https://registry.npmjs.org/@ameeen_mv/mvdoc/-/mvdoc-0.1.0.tgz","fileCount":90,"unpackedSize":258354,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDqKwO/SXkJv5IouRH4OnwrCILxhq8MyE8ylJ5RoLt1EwIgDW6JBPDnx3uNfU/Uqfnw6o3NMU7uMhRmeV6rKQepjw8="}]},"_npmUser":{"name":"ameeen_mv","email":"shehaaa4@gmail.com"},"directories":{},"maintainers":[{"name":"ameeen_mv","email":"shehaaa4@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mvdoc_0.1.0_1775903139520_0.22684499216243226"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-11T10:25:39.393Z","0.1.0":"2026-04-11T10:25:39.665Z","modified":"2026-04-11T10:25:39.924Z"},"maintainers":[{"name":"ameeen_mv","email":"shehaaa4@gmail.com"}],"description":"AI-powered documentation generator — pulls Jira stories & GitHub code, generates VitePress docs with diagrams and RAG chatbot","keywords":["documentation","ai","gemini","jira","github","vitepress","mermaid","rag","cli","docs-generator"],"author":{"name":"Ameen"},"license":"MIT","readme":"# mvdoc — AI-Powered Documentation Generator\n\n> Generate smart, living documentation from your Jira stories, GitHub code, and codebase — powered by Gemini AI.\n\n[![npm version](https://img.shields.io/npm/v/mvdoc.svg)](https://www.npmjs.com/package/mvdoc)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Features\n\n- **Jira Integration** — Pulls user stories, epics, and sprints from Jira Cloud.\n- **GitHub Integration** — Analyzes repository structure, code, and commits.\n- **AI-Powered Analysis** — Uses Gemini to generate technical specs and documentation from raw data.\n- **Auto Diagrams** — Generates Mermaid.js flowcharts, sequence diagrams, and ER diagrams autonomously.\n- **Ask Your Docs (RAG)** — Interact with your documentation using an AI-powered chat interface.\n- **VitePress Site** — Produces a beautiful, searchable documentation website out of the box.\n\n## Quick Start\n\n```bash\n# Install globally\nnpm install -g @ameeen_mv/mvdoc\n\n# Navigate to your project directory\ncd my-project\n\n# Initialize (interactive setup)\nmvdoc init\n\n# Generate documentation files\nmvdoc generate\n\n# Preview locally\nmvdoc serve\n\n# Build for production deployment\nmvdoc build\n```\n\n## Commands\n\n### `mvdoc init`\n\nInteractive setup wizard that configures:\n- Jira connection details (host, project key, API token)\n- GitHub connection (repository, access token)\n- Gemini AI API key\n- Documentation output directory preferences\n\nThis command creates `.mvdocrc.json` (configuration) and `.env` (secrets).\n\n### `mvdoc generate`\n\nRuns the full documentation generation pipeline:\n1. **Aggregates** data from Jira, GitHub, and the local codebase.\n2. **Processes** user stories into technical specifications via AI.\n3. **Generates** Mermaid diagrams (architecture, data flow, sequence, ER).\n4. **Creates** Markdown pages formatted for VitePress.\n\n```bash\n# Full generation pipeline\nmvdoc generate\n\n# Skip AI processing (use raw data only)\nmvdoc generate --skip-ai\n\n# Skip diagram generation to speed up the process\nmvdoc generate --skip-diagrams\n\n# Preview what would be generated without writing to disk\nmvdoc generate --dry-run\n\n# Limit data aggregation to specific sources\nmvdoc generate --source local,github\n```\n\n### `mvdoc serve`\n\nStarts a local VitePress development server to preview your generated documentation.\n\n```bash\nmvdoc serve\nmvdoc serve --port 3000\nmvdoc serve --no-open\n```\n\n### `mvdoc build`\n\nCompiles the VitePress site into static HTML/CSS/JS for production deployment.\n\n```bash\nmvdoc build\nmvdoc build --out-dir ./public\n```\n\n### `mvdoc index`\n\nIndexes the generated documentation to enable the RAG (Retrieval-Augmented Generation) chatbot. Creates vector embeddings locally.\n\n```bash\nmvdoc index\nmvdoc index --force  # Re-index all documents\n```\n\n### `mvdoc chat`\n\nInteract with your indexed documentation using AI.\n\n```bash\n# Start an interactive CLI chat session\nmvdoc chat\n\n# Start a background API server for the VitePress web widget\nmvdoc chat --serve\nmvdoc chat --serve --port 3456\n```\n\n## Configuration\n\n### `.mvdocrc.json`\n\n```json\n{\n  \"project\": {\n    \"name\": \"My Project\",\n    \"description\": \"A description of the project\"\n  },\n  \"sources\": {\n    \"jira\": {\n      \"host\": \"https://your-company.atlassian.net\",\n      \"projectKey\": \"PROJ\",\n      \"issueTypes\": [\"Story\", \"Epic\", \"Bug\"]\n    },\n    \"github\": {\n      \"owner\": \"your-org\",\n      \"repo\": \"your-repo\",\n      \"branch\": \"main\"\n    },\n    \"local\": {\n      \"path\": \".\",\n      \"include\": [\"src/**/*\"],\n      \"exclude\": [\"node_modules\", \"dist\"]\n    }\n  },\n  \"output\": {\n    \"dir\": \"./docs\",\n    \"diagrams\": true,\n    \"modules\": [\"src/**/*\"]\n  },\n  \"ai\": {\n    \"provider\": \"gemini\",\n    \"model\": \"gemini-2.0-flash\"\n  }\n}\n```\n\n### `.env` (Do NOT commit)\n\n```env\nMVDOC_JIRA_EMAIL=your-email@company.com\nMVDOC_JIRA_TOKEN=your-jira-api-token\nMVDOC_GITHUB_TOKEN=ghp_your-github-token\nMVDOC_GEMINI_KEY=AIza-your-gemini-key\n```\n\n## Generated Documentation Structure\n\n```text\ndocs/\n├── index.md              # Homepage with project metrics\n├── overview.md           # AI-generated project overview\n├── architecture/\n│   └── index.md          # Diagrams (architecture, data flow, ER)\n├── stories/\n│   ├── index.md          # Story index with status tracking\n│   ├── proj-1.md         # Individual story with technical specifications\n│   └── epic-proj-10.md   # Epic grouping view\n├── modules/\n│   ├── index.md          # Module index\n│   └── auth.md           # AI-analyzed module documentation\n└── .vitepress/\n    ├── config.mts         # Auto-generated VitePress configuration\n    └── theme/\n        ├── index.ts       # Custom theme configuration\n        ├── style.css      # Brand styling\n        └── components/\n            └── ChatWidget.vue  # Interactive RAG chat component\n```\n\n## AI Model Usage\n\n| Feature | Primary Model | Purpose |\n|---------|---------------|---------|\n| Story to Spec | Gemini 2.0 Flash | Translates user stories into technical specifications |\n| Diagram Generation | Gemini 2.0 Flash | Generates structural Mermaid.js syntax |\n| Module Analysis | Gemini 2.0 Flash | Reads source code and documents modules |\n| Project Overview | Gemini 2.0 Flash | Summarizes the holistic project state |\n| RAG Embeddings | text-embedding-004 | Creates vector embeddings for document search |\n| Ask Your Docs | Gemini 2.0 Flash | Processes context to answer user queries |\n\n## License\n\nMIT © Ameen\n","readmeFilename":"README.md","_rev":"1-a32ae9331b461f45731d3ac8a5ff42fe"}