Skip to content

Commit ed955f1

Browse files
committed
Initial template for new Monodex website
1 parent 0fcf738 commit ed955f1

29 files changed

Lines changed: 786 additions & 0 deletions

common/config/rush/pnpm-lock.yaml

Lines changed: 91 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rush.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,10 @@
351351
"packageName": "lfx.rushstack.io",
352352
"projectFolder": "websites/lfx.rushstack.io"
353353
},
354+
{
355+
"packageName": "monodex.ai",
356+
"projectFolder": "websites/monodex.ai"
357+
},
354358
{
355359
"packageName": "rushstack.io",
356360
"projectFolder": "websites/rushstack.io"

websites/monodex.ai/README.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# monodex.ai
2+
3+
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
4+
5+
## Local development
6+
7+
To build dependencies and then start the local dev server:
8+
9+
```
10+
rush build --to-except .
11+
rushx start
12+
```
13+
14+
## Managing translations
15+
16+
Instructions for internationalization with Docusaurus: https://docusaurus.io/docs/i18n/introduction
17+
18+
The supported locales for this project can be found in the `"i18n"` section of
19+
[docusaurus.config.js](./docusaurus.config.js).
20+
21+
> **NOTE:** Each locale is built as a distinct standalone single-page application. The localhost
22+
> dev server builds only one locale at a time. To view multiple locales together, you must deploy
23+
> the site.
24+
> Common commands:
25+
26+
- `rushx start --locale zh-cn` - launch the localhost dev server in the specified language.
27+
28+
- `rushx write-translations --locale zh-cn` - Update the `i18n/*.json` files with any new strings.
29+
30+
## Building a production build
31+
32+
To produce the static site in the `build` directory:
33+
34+
```
35+
rushx build
36+
```
37+
38+
You can serve this production build locally to test it:
39+
40+
```
41+
rushx serve
42+
```
43+
44+
## Deployment
45+
46+
To build the production site and then push it to the `gh-pages` branch of the target repo:
47+
48+
```
49+
export GIT_USER=<Your GitHub username>
50+
51+
# (Optional) Specify this if you use SSH instead of HTTPS authentication
52+
export USE_SSH=true
53+
54+
# Specify the deployment target
55+
export TARGET=prod
56+
57+
rushx deploy
58+
```
59+
60+
(Typically, this deployment will happen in a CI/CD pipeline, which will have the credentials
61+
necessary to write to the https://github.com/microsoft/rushjs.io-website repo that serves as the
62+
GitHub Pages deployment target.)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
presets: [require.resolve('@docusaurus/core/lib/babel/preset')]
3+
};

websites/monodex.ai/docs/index.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Overview
3+
hide_title: true
4+
---
5+
6+
<img src="/images/site/monodex-logo.svg" alt="Rush Monodex" title="Rush Monodex"
7+
style={{ height: '130px', paddingBottom: '1rem' }}/>
8+
9+
**Semantic search indexer for Rush monorepos using Qdrant vector database**
10+
11+
## Overview
12+
13+
`monodex` is a CLI tool that indexes Rush monorepo source code and documentation into a Qdrant vector database for scalable semantic search.
14+
15+
### Features
16+
17+
- **AST-based chunking**: Tree-sitter powered intelligent splitting for TypeScript/TSX files
18+
- **Breadcrumb context**: Full symbol paths like `@rushstack/node-core-library:JsonFile.ts:JsonFile.load`
19+
- **Oversized chunk handling**: Functions split at natural AST boundaries (statement blocks, if/else, try/catch)
20+
- **Local embeddings**: Uses jina-embeddings-v2-base-code with ONNX Runtime (no external APIs)
21+
- **Qdrant integration**: Direct batch uploads to Qdrant vector database
22+
- **Incremental sync**: Content-hash based change detection for fast re-indexing
23+
- **Rush-optimized**: Smart exclusion rules for Rush monorepo patterns
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Getting started
3+
---
4+
5+
## Usage
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: monodex crawl
3+
---
4+
5+
```
6+
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
7+
8+
9+
Usage: monodex crawl [OPTIONS] --label <LABEL> <--commit <COMMIT>|--working-dir>
10+
11+
12+
Options:
13+
--catalog <CATALOG> Catalog name (from config file, uses default context if not provided)
14+
--debug Enable verbose debug logging for network requests and other operations
15+
--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>
16+
--commit <COMMIT> Git commit to crawl (branch name, tag, or commit SHA)
17+
--working-dir Crawl the working directory instead of a Git commit. Indexes uncommitted changes
18+
--incremental-warnings Allow files with chunking warnings to participate in incremental skipping
19+
-h, --help Print help
20+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: Contributing
3+
---
4+
5+
Monodex is developed in its own GitHub repo separate from the other Rush Stack projects:
6+
7+
[https://github.com/microsoft/monodex](https://github.com/microsoft/monodex)
8+
9+
(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.)
10+
11+
The `monodex.ai` website is hosted in this Github repo:
12+
13+
[https://github.com/microsoft/rushstack-websites](https://github.com/microsoft/rushstack-websites/tree/main/websites/monodex.ai)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: Help
3+
---
4+
5+
Monodex is actively developed by the [Rush Stack](@rushstack/) community. There are various community options for help:
6+
7+
- **Found a bug?** You can [open a GitHub issue](https://github.com/microsoft/monodex/issues)
8+
in the **microsoft/monodex** monorepo where Monodex is developed
9+
10+
- **Zulip**: Chat with Rush developers in the Rush Stack [Zulip chat room](https://rushstack.zulipchat.com/)
11+
12+
- **If a PR needs attention,** try asking in the
13+
[#contributor-helpline](https://rushstack.zulipchat.com/#narrow/stream/279883-contributor-helpline)
14+
chat room. We carefully review each submission before merging, which is time consuming work. The maintainers
15+
are all people who manage large corporate monorepos with regular daily distractions, so PRs frequently
16+
get overlooked. Your contributions are greatly appreciated -- we do want to get that PR reviewed!
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: What's new
3+
---
4+
5+
import { MastodonFeed } from 'theme-rushstack-suite-nav/lib/components/MastodonFeed';
6+
7+
To find out what's changed in the latest release, please see the Monodex
8+
[CHANGELOG.md](https://github.com/microsoft/monodex/blob/main/CHANGELOG.md).
9+
10+
Monodex is maintained by the Rush Stack developer community. For roadmaps and updates from the team,
11+
please visit the [Rush Stack News](https://rushstack.io/pages/news/) page.
12+
13+
The **Rush Hour** monthly video call is the easiest way to find out what's happening with Monodex:
14+
15+
- Sign up using the [Events](https://rushstack.io/community/events/) page.
16+
- If you missed an event, the [Past Events](https://rushstack.io/community/past-events/) archive often
17+
includes a green **Meeting Notes** button with a summary of important points.
18+
19+
## Announcements
20+
21+
Follow us on [Mastodon (@rushstack@fosstodon.org)](https://fosstodon.org/@rushstack) or [Twitter (@rushstack)](https://twitter.com/rushstack).
22+
23+
<MastodonFeed mastodonUserFullName="@rushstack@fosstodon.org" mastodonUserId="109525862248474026" maxFeedItems="6" />

0 commit comments

Comments
 (0)