-
Notifications
You must be signed in to change notification settings - Fork 83
Add monodex.ai website skeleton #316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| # monodex.ai | ||
|
|
||
| This website is built using [Docusaurus 3](https://docusaurus.io/), a modern static website generator. | ||
|
|
||
| ## Local development | ||
|
|
||
| To build dependencies and then start the local dev server: | ||
|
|
||
| ``` | ||
| rush build --to-except . | ||
| rushx start | ||
| ``` | ||
|
|
||
| ## Managing translations | ||
|
|
||
| Instructions for internationalization with Docusaurus: https://docusaurus.io/docs/i18n/introduction | ||
|
|
||
| The supported locales for this project can be found in the `"i18n"` section of | ||
| [docusaurus.config.js](./docusaurus.config.js). | ||
|
|
||
| > **NOTE:** Each locale is built as a distinct standalone single-page application. The localhost | ||
| > dev server builds only one locale at a time. To view multiple locales together, you must deploy | ||
| > the site. | ||
| > Common commands: | ||
|
|
||
| - `rushx start --locale zh-cn` - launch the localhost dev server in the specified language. | ||
|
|
||
| - `rushx write-translations --locale zh-cn` - Update the `i18n/*.json` files with any new strings. | ||
|
|
||
| ## Building a production build | ||
|
|
||
| To produce the static site in the `build` directory: | ||
|
|
||
| ``` | ||
| rushx build | ||
| ``` | ||
|
|
||
| You can serve this production build locally to test it: | ||
|
|
||
| ``` | ||
| rushx serve | ||
| ``` | ||
|
|
||
| ## Deployment | ||
|
|
||
| To build the production site and then push it to the `gh-pages` branch of the target repo: | ||
|
|
||
| ``` | ||
| export GIT_USER=<Your GitHub username> | ||
|
|
||
| # (Optional) Specify this if you use SSH instead of HTTPS authentication | ||
| export USE_SSH=true | ||
|
|
||
| rushx deploy | ||
| ``` | ||
|
|
||
| (Typically, this deployment will happen in a CI/CD pipeline, which will have the credentials | ||
| necessary to write to the https://github.com/microsoft/monodex.ai-website repo that serves as the | ||
| GitHub Pages deployment target.) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| module.exports = { | ||
| presets: [require.resolve('@docusaurus/core/lib/babel/preset')] | ||
| }; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| --- | ||
| title: Overview | ||
| hide_title: true | ||
| --- | ||
|
|
||
| <img src="/images/site/monodex-logo.svg" alt="Rush Monodex" title="Rush Monodex" | ||
| style={{ height: '130px', paddingBottom: '1rem' }}/> | ||
|
|
||
| **Semantic search indexer for Rush monorepos using Qdrant vector database** | ||
|
|
||
| ## Overview | ||
|
|
||
| `monodex` is a CLI tool that indexes Rush monorepo source code and documentation into a Qdrant vector database for scalable semantic search. | ||
|
|
||
| ### Features | ||
|
|
||
| - **AST-based chunking**: Tree-sitter powered intelligent splitting for TypeScript/TSX files | ||
| - **Breadcrumb context**: Full symbol paths like `@rushstack/node-core-library:JsonFile.ts:JsonFile.load` | ||
| - **Oversized chunk handling**: Functions split at natural AST boundaries (statement blocks, if/else, try/catch) | ||
| - **Local embeddings**: Uses jina-embeddings-v2-base-code with ONNX Runtime (no external APIs) | ||
| - **Qdrant integration**: Direct batch uploads to Qdrant vector database | ||
| - **Incremental sync**: Content-hash based change detection for fast re-indexing | ||
| - **Rush-optimized**: Smart exclusion rules for Rush monorepo patterns |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| title: Getting started | ||
| --- | ||
|
|
||
| ## Usage |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| title: monodex crawl | ||
| --- | ||
|
|
||
| ``` | ||
| Crawl source and index into Qdrant (incremental sync). Reports warnings when AST chunking fails and fallback is used. These warnings indicate partitioner defects to investigate | ||
|
|
||
|
|
||
| Usage: monodex crawl [OPTIONS] --label <LABEL> <--commit <COMMIT>|--working-dir> | ||
|
|
||
|
|
||
| Options: | ||
| --catalog <CATALOG> Catalog name (from config file, uses default context if not provided) | ||
| --debug Enable verbose debug logging for network requests and other operations | ||
| --label <LABEL> Label name for this crawl (e.g., "main", "feature-x", "local") REQUIRED: Must be explicitly specified to avoid accidental overwrites. Label ID will be computed as <catalog>:<label> | ||
| --commit <COMMIT> Git commit to crawl (branch name, tag, or commit SHA) | ||
| --working-dir Crawl the working directory instead of a Git commit. Indexes uncommitted changes | ||
| --incremental-warnings Allow files with chunking warnings to participate in incremental skipping | ||
| -h, --help Print help | ||
| ``` |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| --- | ||
| title: Contributing | ||
| --- | ||
|
|
||
| Monodex is developed in its own GitHub repo separate from the other Rush Stack projects: | ||
|
|
||
| [https://github.com/microsoft/monodex](https://github.com/microsoft/monodex) | ||
|
|
||
| (We made this choice because the codebase uses Rust instead of TypeScript and experienced heavy churn during its early stages, however the plan is to eventually migrate it into the big [microsoft/rushstack](https://github.com/microsoft/rushstack) monorepo.) | ||
|
|
||
| The `monodex.ai` website is hosted in this GitHub repo: | ||
|
|
||
| [https://github.com/microsoft/rushstack-websites](https://github.com/microsoft/rushstack-websites/tree/main/websites/monodex.ai) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| --- | ||
| title: Help | ||
| --- | ||
|
|
||
| Monodex is actively developed by the [Rush Stack](@rushstack/) community. There are various community options for help: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does this link end up resolving to?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The "unrelated" changes are just things that AI caught for the new site, which have copy+paste equivalents in all the other sites. |
||
|
|
||
| - **Found a bug?** You can [open a GitHub issue](https://github.com/microsoft/monodex/issues) | ||
| in the **microsoft/monodex** monorepo where Monodex is developed | ||
|
|
||
| - **Zulip**: Chat with Rush developers in the Rush Stack [Zulip chat room](https://rushstack.zulipchat.com/) | ||
|
|
||
| - **If a PR needs attention,** try asking in the | ||
| [#contributor-helpline](https://rushstack.zulipchat.com/#narrow/stream/279883-contributor-helpline) | ||
| chat room. We carefully review each submission before merging, which is time consuming work. The maintainers | ||
| are all people who manage large corporate monorepos with regular daily distractions, so PRs frequently | ||
| get overlooked. Your contributions are greatly appreciated -- we do want to get that PR reviewed! | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| --- | ||
| title: What's new | ||
| --- | ||
|
|
||
| import { MastodonFeed } from 'theme-rushstack-suite-nav/lib/components/MastodonFeed'; | ||
|
|
||
| To find out what's changed in the latest release, please see the Monodex | ||
| [CHANGELOG.md](https://github.com/microsoft/monodex/blob/main/CHANGELOG.md). | ||
|
|
||
| Monodex is maintained by the Rush Stack developer community. For roadmaps and updates from the team, | ||
| please visit the [Rush Stack News](https://rushstack.io/pages/news/) page. | ||
|
|
||
| The **Rush Hour** monthly video call is the easiest way to find out what's happening with Monodex: | ||
|
|
||
| - Sign up using the [Events](https://rushstack.io/community/events/) page. | ||
| - If you missed an event, the [Past Events](https://rushstack.io/community/past-events/) archive often | ||
| includes a green **Meeting Notes** button with a summary of important points. | ||
|
|
||
| ## Announcements | ||
|
|
||
| Follow us on [Mastodon (@[email protected])](https://fosstodon.org/@rushstack) or [Twitter (@rushstack)](https://twitter.com/rushstack). | ||
|
|
||
| <MastodonFeed mastodonUserFullName="@[email protected]" mastodonUserId="109525862248474026" maxFeedItems="6" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like this should go in a common place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The right way would be to create a Docusaurus custom theme use by all the Rush Stack projects, but it's outside the scope of this PR. And this particular CSS rule would be tricky because although the selector is reused, the CSS content is different because it has site-specific coloring information.