{"id":50718141,"url":"https://github.com/cristianociuti/reponova-langs","last_synced_at":"2026-06-09T21:00:37.422Z","repository":{"id":362503932,"uuid":"1259375375","full_name":"CristianoCiuti/reponova-langs","owner":"CristianoCiuti","description":"Monorepo for official RepoNova language plugins (@reponova/lang-*)","archived":false,"fork":false,"pushed_at":"2026-06-04T14:15:41.000Z","size":193,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T15:03:37.512Z","etag":null,"topics":["knowledge-graph","language-plugin","mcp","monorepo","reponova","tree-sitter"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CristianoCiuti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-04T12:52:58.000Z","updated_at":"2026-06-04T14:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CristianoCiuti/reponova-langs","commit_stats":null,"previous_names":["cristianociuti/reponova-langs"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/CristianoCiuti/reponova-langs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CristianoCiuti%2Freponova-langs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CristianoCiuti%2Freponova-langs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CristianoCiuti%2Freponova-langs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CristianoCiuti%2Freponova-langs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CristianoCiuti","download_url":"https://codeload.github.com/CristianoCiuti/reponova-langs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CristianoCiuti%2Freponova-langs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34125332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["knowledge-graph","language-plugin","mcp","monorepo","reponova","tree-sitter"],"created_at":"2026-06-09T21:00:21.029Z","updated_at":"2026-06-09T21:00:37.417Z","avatar_url":"https://github.com/CristianoCiuti.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reponova-langs\n\nMonorepo for official language plugins of [RepoNova](https://github.com/CristianoCiuti/reponova).\n\nEach plugin extends RepoNova's knowledge graph with support for a specific language or asset type and is published independently to npm under the `@reponova/lang-*` scope.\n\n## Packages\n\n| Package | Description | Status |\n|---|---|---|\n| [`@reponova/lang-python`](./packages/lang-python) | Python (`.py` / `.pyw`, tree-sitter) | Published |\n| [`@reponova/lang-javascript`](./packages/lang-javascript) | JavaScript (`.js` / `.mjs` / `.cjs` / `.jsx`, tree-sitter) | Published |\n| [`@reponova/lang-typescript`](./packages/lang-typescript) | TypeScript (`.ts` / `.mts` / `.cts`, tree-sitter) | Published |\n| [`@reponova/lang-tsx`](./packages/lang-tsx) | TSX / React (`.tsx`, tree-sitter) | Published |\n| [`@reponova/lang-json`](./packages/lang-json) | JSON / JSONC with schema-aware extraction for `package.json`, `tsconfig*`, `nx.json`, `project.json`, `lerna.json`, `turbo.json` (jsonc-parser) | Published |\n| [`@reponova/lang-plantuml`](./packages/lang-plantuml) | PlantUML diagrams (`.puml` / `.plantuml`, regex) | Published |\n| [`@reponova/lang-mermaid`](./packages/lang-mermaid) | Mermaid diagrams (`.mmd` / `.mermaid`, regex) — 13+ diagram families incl. flowchart, sequence, class, state, ER, gantt, journey, gitGraph, pie, mindmap, timeline, C4, requirement, zenuml | Published |\n| [`@reponova/lang-sql`](./packages/lang-sql) | SQL DDL (`.sql` / `.ddl` / `.dml` / `.psql` / `.pgsql` / `.tsql`, regex) — multi-dialect (PostgreSQL, MySQL, SQLite, T-SQL, BigQuery) tables / views / functions / procedures / triggers / indexes / sequences / types + FK \u0026 query refs | Published |\n| [`@reponova/lang-java`](./packages/lang-java) | Java (`.java`, tree-sitter) — classes / interfaces / enums / records / annotation interfaces + methods / fields / annotations / extends / implements / method calls | Published |\n| [`@reponova/lang-c`](./packages/lang-c) | C (`.c` / `.h`, tree-sitter) — functions / structs / unions / enums / typedefs / macros + globals / function-pointer fields / `#include` graph / call refs | Published |\n| [`@reponova/lang-cpp`](./packages/lang-cpp) | C++ (`.cpp` / `.cc` / `.cxx` / `.c++` / `.hpp` / `.hh` / `.hxx` / `.h++`, tree-sitter) — namespaces / classes (access modifiers, inheritance) / templates / ctors / dtors / operator overloads / `using` declarations / alias declarations + the full C subset | Published |\n| [`@reponova/lang-svg`](./packages/lang-svg) | SVG assets (`.svg`, regex) | Published |\n\n## Install a plugin in your RepoNova project\n\nThe fastest path is to let RepoNova suggest the plugins relevant to your repo. Inside a project run:\n\n```bash\nreponova lang suggest\n```\n\n`lang suggest` scans your sources, queries npm for every package tagged with the `reponova-language` keyword and offers an interactive checkbox to install only the ones you actually need.\n\nIf you prefer to install plugins explicitly, the official set is:\n\n```bash\nreponova lang add @reponova/lang-python\nreponova lang add @reponova/lang-javascript\nreponova lang add @reponova/lang-typescript\nreponova lang add @reponova/lang-tsx\nreponova lang add @reponova/lang-json\nreponova lang add @reponova/lang-plantuml\nreponova lang add @reponova/lang-mermaid\nreponova lang add @reponova/lang-sql\nreponova lang add @reponova/lang-java\nreponova lang add @reponova/lang-c\nreponova lang add @reponova/lang-cpp\nreponova lang add @reponova/lang-svg\n```\n\nEach plugin's README documents what it extracts and the available `reponova.yml` configuration.\n\n## Architecture\n\nEvery plugin is an independent npm package conforming to the `LanguagePlugin` contract defined by [reponova](https://github.com/CristianoCiuti/reponova). A plugin declares its supported file extensions in `package.json` under `reponova.extensions` — the single source of truth read by both the plugin loader and the registry-side discovery used by `reponova lang suggest`. It optionally ships a tree-sitter `.wasm` grammar bundled inside the published tarball, and exposes an `extractor` that returns symbols, imports, and references for each parsed file.\n\nTo be discoverable on the npm registry, a plugin must include `\"reponova-language\"` in its `package.json` `keywords` — the canonical token consulted by `reponova lang suggest`.\n\nTree-sitter grammars are pinned by version and SHA-256, downloaded at build time, and re-distributed as part of each plugin's published artefact — consumers never need to manage grammar binaries themselves.\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for the developer setup, the grammar workflow, the npm trusted-publisher procedure, and the release process.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianociuti%2Freponova-langs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcristianociuti%2Freponova-langs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcristianociuti%2Freponova-langs/lists"}