{"_id":"oh-my-mermaid","_rev":"9-b5269952b4fe93e567b9c7afc764daa9","name":"oh-my-mermaid","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"oh-my-mermaid","version":"0.1.0","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.0","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"3c8b5a3c07f4a06d67865b1c1fbead58043a1db6","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.0.tgz","fileCount":10,"integrity":"sha512-Imx5wJ6KmeUilA6KD27pAV5mXG0EGAZqbjXHZI7iGIqH/5OJxGJiy7VVLmnCzSotZwWbnxVh05WMADwvvA7esQ==","signatures":[{"sig":"MEUCIQCrbIftovsazT/GeiyPZu71/MDP5sBiTfS+FZM9QOHp6QIgRNO24c6HY9KVidZiylAA4gd81ZEgxpUM91Ht3NTxzBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127590},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"4a901b1c50b5eb0d23ea58534e2e4198409275ea","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"_npmVersion":"10.9.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"23.7.0","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.0_1774110419325_0.7814528272339867","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"oh-my-mermaid","version":"0.1.1","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.1","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"8f568069b68b3b434c7ba65ea5b80999617a25b9","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.1.tgz","fileCount":11,"integrity":"sha512-2+Lsnl50RO4CzsFVj8QL8+sUpuQ4CpKVvZO8Txem5WFvCED9xYrdbaScQ+R0D4nfLf/lY+gR5sK272oFdvbzCA==","signatures":[{"sig":"MEUCIQC9ZKtgpcagqrYLuajXNpn82wkqX2PrC57g1+u2ncEZrwIgeE5LxutdD5pBCNN5+ixAJvbCk1LhjkN0tMBQs0hOslA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"55c1fe55a274257cb64e8fbf6884d91a92186156","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"_npmVersion":"10.9.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"23.7.0","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.1_1774158726309_0.6139645785972039","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"oh-my-mermaid","version":"0.1.2","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.2","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"9db95c6082d5191d26f8fa6f461b1c384d3f90a3","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.2.tgz","fileCount":11,"integrity":"sha512-fGyeJncK9h1Q35Y+bsetZEarQUzJblYe4odbKnJQ27laTGcst11Pk4nIwTIUzuQWKC9HYaqwysIFdAoeTjO6Vg==","signatures":[{"sig":"MEUCIHXwEy1fLZ9c/t78GZ2kjkqDUabqexCjJrj6rm/l8FNaAiEAwOIsHwbQQt87/3xJAzKsN+HEqA1VxeKVQmwvq/Nx8Ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203797},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"55c1fe55a274257cb64e8fbf6884d91a92186156","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"_npmVersion":"10.9.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"23.7.0","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.2_1774160442052_0.5894737917425281","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"oh-my-mermaid","version":"0.1.3","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.3","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"fc03da61553a94bec12b7a9061a3ab5205bde197","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.3.tgz","fileCount":11,"integrity":"sha512-O3GBJjAKgf7Z1HKGQrRFRbxcPPjH9RG3EkjLkkwhRTlt8anGYUChBPZVymOofbirxu2EyxUPCNFkoK7+5uvVQg==","signatures":[{"sig":"MEUCIGfKIujAGNrMv5qTMsa+cIIDv8f1hG0BZG83rjm8/HpiAiEAvCKewKMCKyMRCPz2ku5A1uV/+D90snty46l6oz7X29I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204510},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"235bd1c8825c46442a66487b59c9b7dfd86fbdee","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"_npmVersion":"10.9.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"23.7.0","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.3_1774161865987_0.4281691973354047","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"oh-my-mermaid","version":"0.1.4","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.4","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"bb646af072047a323191d5926b81d6caeff7bdec","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.4.tgz","fileCount":11,"integrity":"sha512-PWrtRNeS+0JKqUCm9s8OErZFWIsxglXq7wPBD5yKACgpKZs5T0+3aH5KkXDDj3midYX/KR1lpycHQscbk8h6pA==","signatures":[{"sig":"MEUCIQDGmiHGKdl/n+cjhnPqwuwcVLR2HYaK3FFuBVSnIRP89gIga3qQbOgA4bbnMc1lm9k3oKfqVBzhrk2peLjxsBRFX9M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205512},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"428de3c4fdb7a98c49bfec0eed3b0810866e6d9b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"_npmVersion":"10.9.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"23.7.0","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.4_1774162997119_0.4221553621727363","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"oh-my-mermaid","version":"0.1.6","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.6","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"homepage":"https://github.com/oh-my-mermaid/oh-my-mermaid","bugs":{"url":"https://github.com/oh-my-mermaid/oh-my-mermaid/issues"},"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"e2267c6885ee332291cb454a6d0c4d6bc3c76c64","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.6.tgz","fileCount":15,"integrity":"sha512-y/chBjrWYw56ar2n5UQk+pZbv8WMlCQEcz4EzGwosWO0a47/R7eg+E1zfz7nuD/UDnDBOdcwMti/k5CjYALrXg==","signatures":[{"sig":"MEUCIQDmQo4cZQxERT/S6wLQYjSvSkZIiYG+esaMJb9AqmrHHwIgS2vF/Gv1tVPpItDFOYqf4RZtWTkGl7f3ckOivzs+3Fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-mermaid@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301097},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"939fb4b775d2ec1c251ed063b1570229d71b9130","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","sync-version":"node scripts/sync-version.js","prepublishOnly":"npm run build && npm run sync-version","check-version-sync":"node scripts/check-version-sync.js"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"repository":{"url":"git+https://github.com/oh-my-mermaid/oh-my-mermaid.git","type":"git"},"_npmVersion":"10.8.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"20.20.1","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.6_1774340117738_0.6990809194240009","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"oh-my-mermaid","version":"0.1.7","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.7","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"homepage":"https://github.com/oh-my-mermaid/oh-my-mermaid","bugs":{"url":"https://github.com/oh-my-mermaid/oh-my-mermaid/issues"},"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"4ece5032eb908c921ba795da4ca7f410e1e2c2c4","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.7.tgz","fileCount":15,"integrity":"sha512-mGge5QA00SSw96mFhg+NVOIqjYkh3HlVCvc1m7zMmGs3danr7OS4j8oYfRlkyH6QF3KEYdZHl5zIlfoN5m2M/Q==","signatures":[{"sig":"MEQCIENRuJZMKMKCO0WrRKQwEXuMIgc1ipwDcSONOzTeMIXtAiB2ijbplLZ1bgsEHVrvCF1N/eXWudC1F/FGJkBl0k/OEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-mermaid@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301324},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"28d4d622ac17775f9cfd448f4535dfe7d3c9795f","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","sync-version":"node scripts/sync-version.js","prepublishOnly":"npm run build && npm run sync-version","check-version-sync":"node scripts/check-version-sync.js"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"repository":{"url":"git+https://github.com/oh-my-mermaid/oh-my-mermaid.git","type":"git"},"_npmVersion":"10.8.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"20.20.1","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.7_1774344783612_0.13697776227224678","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"oh-my-mermaid","version":"0.1.8","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"author":"","license":"MIT","_id":"oh-my-mermaid@0.1.8","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"homepage":"https://github.com/oh-my-mermaid/oh-my-mermaid","bugs":{"url":"https://github.com/oh-my-mermaid/oh-my-mermaid/issues"},"bin":{"omm":"dist/cli.js"},"dist":{"shasum":"de6eb13d9e3b935a2a2e106b5215f2dd36207cff","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.1.8.tgz","fileCount":15,"integrity":"sha512-X1i2zaRA9pPBcNnP0KmNT3AJX6ygx3AEngzteflsHEQ7QttUHkKN3W1XLW99uQl1NLt3w3YJD7TuErYHaWzLnA==","signatures":[{"sig":"MEUCIADMmv7/CT7Q39f4YeTIiCeaNLO9BSK9gXJX9DsxkXG6AiEA/vCOFJweL4jCuQ2FKTkJOO94WW6d1uAJLVAGmEG/exk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-mermaid@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":305673},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"gitHead":"2fb887a57c68633a283dd5f67fde065bdb44ee38","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","sync-version":"node scripts/sync-version.js","prepublishOnly":"npm run build && npm run sync-version","check-version-sync":"node scripts/check-version-sync.js"},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"repository":{"url":"git+https://github.com/oh-my-mermaid/oh-my-mermaid.git","type":"git"},"_npmVersion":"10.8.2","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","directories":{},"_nodeVersion":"20.20.1","dependencies":{"yaml":"^2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.0","typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/oh-my-mermaid_0.1.8_1774345852886_0.21500472429231943","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"oh-my-mermaid","version":"0.2.0","description":"Architecture mirror for vibe coding — CLI + Claude Code skills","type":"module","bin":{"omm":"dist/cli.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","homepage":"https://github.com/oh-my-mermaid/oh-my-mermaid","bugs":{"url":"https://github.com/oh-my-mermaid/oh-my-mermaid/issues"},"repository":{"type":"git","url":"git+https://github.com/oh-my-mermaid/oh-my-mermaid.git"},"keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"engines":{"node":">=18"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","check-version-sync":"node scripts/check-version-sync.js","sync-version":"node scripts/sync-version.js","prepublishOnly":"npm run build && npm run sync-version"},"author":"","license":"MIT","devDependencies":{"@types/node":"^25.5.0","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.1.0"},"dependencies":{"yaml":"^2.8.3"},"_id":"oh-my-mermaid@0.2.0","gitHead":"724b517684ab7c9f1b5635ba4d1fc8036f7d91b8","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-bpovJ7pLptTBFaYqPO5koTvcT2AsV/CgQDczl9KxXIt/pSsylZGe0fuKLX26RodlwFHgQyWoZyp6oFBqNqHS6Q==","shasum":"e6414e7724cfed0f9f146015aeafc80faad94d33","tarball":"https://registry.npmjs.org/oh-my-mermaid/-/oh-my-mermaid-0.2.0.tgz","fileCount":15,"unpackedSize":360961,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oh-my-mermaid@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGVouk++GDD1ZzZ7dTjl7ZGASPcIhaziKdmtQqj/SmjDAiBAgA2i5sChxk16O3RJGKMhfliYXKpQPAQjHbH61iBIxw=="}]},"_npmUser":{"name":"tachyon6","email":"songjunjun62754@gmail.com"},"directories":{},"maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oh-my-mermaid_0.2.0_1774451865888_0.3909853068613467"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T16:26:59.233Z","modified":"2026-03-25T15:17:46.369Z","0.1.0":"2026-03-21T16:26:59.477Z","0.1.1":"2026-03-22T05:52:06.469Z","0.1.2":"2026-03-22T06:20:42.237Z","0.1.3":"2026-03-22T06:44:26.148Z","0.1.4":"2026-03-22T07:03:17.272Z","0.1.6":"2026-03-24T08:15:17.916Z","0.1.7":"2026-03-24T09:33:03.771Z","0.1.8":"2026-03-24T09:50:53.059Z","0.2.0":"2026-03-25T15:17:46.080Z"},"bugs":{"url":"https://github.com/oh-my-mermaid/oh-my-mermaid/issues"},"license":"MIT","homepage":"https://github.com/oh-my-mermaid/oh-my-mermaid","keywords":["mermaid","architecture","diagram","claude-code","vibe-coding"],"repository":{"type":"git","url":"git+https://github.com/oh-my-mermaid/oh-my-mermaid.git"},"description":"Architecture mirror for vibe coding — CLI + Claude Code skills","maintainers":[{"name":"tachyon6","email":"songjunjun62754@gmail.com"}],"readme":"[English](./README.md) | [한국어](./README.ko.md) | [日本語](./README.ja.md) | [中文](./README.zh.md)\n\n<p align=\"center\">\n  <img src=\"./docs/logo.jpg\" alt=\"omm logo\" width=\"80\"/>\n  <br/>\n  <h1>Oh-my-mermaid</h1>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/oh-my-mermaid\"><img src=\"https://img.shields.io/npm/v/oh-my-mermaid\" alt=\"npm version\"/></a>\n  <a href=\"./LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"/></a>\n</p>\n\n<p align=\"center\">\n  AI writes code in seconds. Humans understand it in hours.<br/>\n  But skip understanding, the codebase becomes a black box — even to you.<br/><br/>\n  <strong>omm closes the gap — architecture docs, generated by AI, for humans.</strong>\n</p>\n\n---\n\n## Quick Start\n\nPaste this in your terminal:\n\n```bash\nnpm install -g oh-my-mermaid && omm setup\n```\n\nThen open your AI coding tool and use the `/omm-scan` skill:\n\n```\n/omm-scan\n```\n\nThat's it. View the result:\n\n```bash\nomm view\n```\n\n## Example\n\n> omm scanned itself. This is what it found.\n\n<table><tr>\n<td width=\"50%\"><img src=\"./docs/screenshot.png\" alt=\"omm viewer\"/></td>\n<td width=\"50%\"><img src=\"./docs/demo.gif\" alt=\"omm scan demo\"/></td>\n</tr></table>\n\n## How It Works\n\nYour AI analyzes the codebase and generates **perspectives** — different lenses on your architecture (structure, data flow, integrations...). Each perspective contains a Mermaid diagram and documentation fields.\n\nEvery node gets **recursively analyzed**. Complex nodes become nested child elements with their own diagrams. Simple ones stay as leaves. The filesystem reflects the tree:\n\n```\n.omm/\n├── overall-architecture/           ← perspective\n│   ├── description.md\n│   ├── diagram.mmd\n│   ├── context.md\n│   ├── main-process/               ← nested element\n│   │   ├── description.md\n│   │   ├── diagram.mmd\n│   │   └── auth-service/           ← deeper nesting\n│   │       └── ...\n│   └── renderer/\n│       └── ...\n├── data-flow/\n└── external-integrations/\n```\n\nThe viewer auto-detects nesting from the filesystem — elements with children render as expandable groups, others as nodes.\n\nEach element carries up to 7 fields: `description`, `diagram`, `context`, `constraint`, `concern`, `todo`, `note`.\n\n## CLI\n\n```bash\nomm setup                          # Register skills with your AI tools\nomm view                           # Open interactive viewer\nomm config language ko             # Set content language\nomm update                         # Update to latest version\n```\n\nRun `omm help` for the full command list.\n\n## Skills\n\nSkills are commands you run **inside your AI coding tool** (not the terminal). They start with `/`.\n\n| Skill | What it does |\n| --- | --- |\n| `/omm-scan` | Analyze codebase → generate architecture docs |\n| `/omm-push` | Login + link + push to cloud in one step |\n\n## Cloud\n\nYou can store your architecture in the cloud via [ohmymermaid.com](https://ohmymermaid.com).\n\n```bash\nomm login && omm link && omm push\n```\n\nIt's private by default. Share with your team, or make it public like [this example](https://ohmymermaid.com/share/c47e20a7063c231760361ed9cb9ec4b6).\n\n## Supported AI Tools\n\n| Platform | Setup |\n| --- | --- |\n| Claude Code | `omm setup claude` |\n| Codex | `omm setup codex` |\n| Cursor | `omm setup cursor` |\n| OpenClaw | `omm setup openclaw` |\n| Antigravity | `omm setup antigravity` |\n\nRun `omm setup` to auto-detect and configure all installed tools.\n\n## Roadmap\n\nSee [docs/ROADMAP.md](./docs/ROADMAP.md).\n\n## Development & Contributing\n\n```bash\ngit clone https://github.com/oh-my-mermaid/oh-my-mermaid.git\ncd oh-my-mermaid\nnpm install && npm run build\nnpm test\n```\n\nIssues and PRs welcome. Use [Conventional Commits](https://www.conventionalcommits.org/).\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}