Skip to content

📖 docs: Update README.md#189

Merged
wanjohiryan merged 48 commits intomainfrom
feat/readme
Jul 1, 2025
Merged

📖 docs: Update README.md#189
wanjohiryan merged 48 commits intomainfrom
feat/readme

Conversation

@AquaWolf
Copy link
Contributor

@AquaWolf AquaWolf commented Feb 22, 2025

Description

Update the readme file

Related Issues

none

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature that changes existing functionality)
  • Documentation update
  • Other (please describe):

Checklist

  • I have updated relevant documentation
  • My code follows the project's coding style
  • My changes generate no new warnings/errors

Notes for Reviewers

none

Screenshots/Demo

none

Additional Context

none

Summary by CodeRabbit

  • Documentation

    • Major overhaul of documentation structure and content for improved clarity, modern presentation, and ease of navigation.
    • Updated and expanded guides for installation, setup, architecture, and command-line interfaces.
    • Enhanced FAQ and troubleshooting sections with more comprehensive answers and technical details.
    • Added new guides for self-hosting with reverse proxy examples (Caddy, Traefik) and developer notes.
    • Improved theming, styling, and home page layout for the documentation site.
    • Simplified main README to a minimalistic project header and tagline.
    • Added new documentation files for Nestri Relay introduction and container CLI parameters.
    • Removed outdated or redundant documentation files and components to streamline content.
  • Chores

    • Updated, reorganized, or removed configuration files for dependencies, linting, and environment setup.
    • Switched to a new documentation theme and updated related project dependencies.
    • Removed Renovate configuration and ESLint config specific to docs app.
    • Adjusted TypeScript and package configurations for better compatibility.
  • Style

    • Improved dark mode support and visual consistency across documentation and components.
    • Introduced new Tailwind CSS theming and animation support for the documentation site.
  • New Features

    • Added example configuration files for deploying Nestri Relay with Caddy and Traefik reverse proxies.
    • Introduced new Tailwind CSS theming and animation support for the documentation site.
    • Added a new logo component supporting light/dark mode and optional title display.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Feb 22, 2025

Deploying nestri with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4e87357
Status: ✅  Deploy successful!
Preview URL: https://90dc915f.nestri.pages.dev
Branch Preview URL: https://feat-readme.nestri.pages.dev

View logs

@Christiangnuxyz
Copy link

Is it not a bit weird to mention that a Netris can run on Ubuntu in Readme but then in current documentation mention that Debian and Ubuntu are not supported?

@AquaWolf
Copy link
Contributor Author

Yep should I also update the documentation?

@Christiangnuxyz
Copy link

Yes it think you should update the documentation before you change the Readme

@AquaWolf AquaWolf marked this pull request as ready for review February 25, 2025 20:40
victorpahuus
victorpahuus previously approved these changes Feb 26, 2025
Copy link
Contributor

@victorpahuus victorpahuus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good to me! Great changes :)

@wanjohiryan wanjohiryan changed the title Update README.md 📖 docs: Update README.md Mar 1, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 16, 2025

Walkthrough

This update restructures the Nestri documentation app and related deployment files. The docs site transitions to a new minimal Nuxt-based theme, with reworked configuration, content, and styling. Documentation is reorganized, with expanded guides for self-hosting and deployment, detailed CLI references, and improved home and introduction pages. Reverse proxy deployment examples using Caddy and Traefik are added, while legacy and internal documentation is removed.

Changes

Files/Paths Change Summary
README.md Simplified to minimal layout with logo, project title, and tagline; removed all detailed textual content and badges.
apps/docs/.eslintrc.cjs, apps/docs/renovate.json, apps/docs/sst-env.d.ts Deleted ESLint config, Renovate config, and SST environment type declaration files.
apps/docs/.gitignore Reorganized and expanded ignore rules with clearer categorization; added new patterns and removed some redundant entries.
apps/docs/.npmrc Removed trailing newline character.
apps/docs/README.md Added new README for shadcn-docs-nuxt starter template with setup, development, build, preview, and deployment instructions.
apps/docs/RELAY.md, apps/docs/content/3.nestri-relay/3.deploy-moq.md, apps/docs/content/3.nestri-relay/4.advanced-users.md, apps/docs/content/3.nestri-relay/5.moq-tester.md Deleted detailed MoQ relay deployment, advanced self-hosting, and testing guides.
apps/docs/app.config.ts Replaced old docus config with new shadcnDocs config featuring modular sections for site, theme, header, aside, main, footer, toc, and search.
apps/docs/assets/css/tailwind.css Added new Tailwind CSS stylesheet with CSS variables for light/dark theming, base styles, and a custom step counter utility.
apps/docs/components/AppSocialIcons.vue, apps/docs/components/Logo.vue Removed social icons and old logo components.
apps/docs/components/content/Contributors.vue Improved dark mode support; replaced NuxtImg with standard <img> tags; updated badge styling for dark mode.
apps/docs/components/layout/Header/Logo.vue Added new logo component supporting light/dark logos and optional title display, driven by configuration.
apps/docs/content/0.index.md, apps/docs/content/4.nestri-internal/* Removed old home page and internal documentation content files.
apps/docs/content/index.md Added new home page with hero section, announcement banner, call-to-action buttons, and contributors section.
apps/docs/content/1.introduction/, apps/docs/content/2.nestri-node/ Rewritten and expanded introduction, FAQ, node setup, CLI reference, and developer notes with improved clarity and technical detail.
apps/docs/content/3.nestri-relay/1.what-is-nestri-relay.md, apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md, apps/docs/content/3.nestri-relay/3.container-cli.md Added new relay documentation including overview, self-hosting guidance with reverse proxy deployment examples (Caddy, Traefik), and CLI reference; removed legacy relay docs.
apps/docs/content/3.nestri-relay/_dir.yml, apps/docs/content/2.nestri-node/_dir.yml Updated directory metadata: changed icons, added navigation redirects, and adjusted title formatting.
apps/docs/nuxt.config.ts Switched theme from @nuxt-themes/docus to shadcn-docs-nuxt; removed modules and components auto-import; updated compatibility date.
apps/docs/package.json Renamed project; switched from devDependencies to dependencies; updated dependencies to include nuxt, shadcn-docs-nuxt, vue, and vue-router; set "type": "module".
apps/docs/tailwind.config.js Added new Tailwind CSS config enabling dark mode, custom colors, border radius, keyframes, animations, and plugin for UI animations.
apps/docs/tsconfig.json Removed "ignoreConfigErrors": true; uncommented "extends": "./.nuxt/tsconfig.json"; added comment linking Nuxt TS docs.
apps/docs/tokens.config.ts Deleted theme design tokens configuration file.
containers/Caddyfile Added new Caddyfile for relay domain with WebSocket upgrade handling and TLS configuration.
containers/docker-compose.relay.caddy.yml Added new Docker Compose file defining caddy reverse proxy and relay service with custom bridge network.
containers/docker-compose.relay.traefik.yml Added new Docker Compose file defining traefik reverse proxy and relay service with external network, routing labels, and ACME TLS configuration.

Sequence Diagram(s)

sequenceDiagram
    participant UserBrowser
    participant ReverseProxy (Caddy/Traefik)
    participant NestriRelay
    participant NestriNode

    UserBrowser->>ReverseProxy: Connect via WebRTC (wss://relay.example.com)
    ReverseProxy->>NestriRelay: Forward WebSocket/WebRTC traffic
    NestriRelay->>NestriNode: Request/forward audio-video stream
    NestriNode-->>NestriRelay: Send encoded stream
    NestriRelay-->>UserBrowser: Deliver low-latency stream
Loading

Poem

In docs anew, the rabbits hop,
With Tailwind breeze and Nuxt on top.
Relays now behind a proxy wall,
Caddy and Traefik answering the call.
Home is fresh, the guides are clear—
Cloud gaming’s future is drawing near!
🐇✨


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

🔭 Outside diff range comments (1)
apps/docs/components/content/Contributors.vue (1)

25-34: Remove invalid <img> attributes

Standard HTML <img> does not support provider or densities props, and height/width attributes expect numeric values. Use CSS classes for sizing instead.

Apply this diff:

-            <img
-              :src="contributor.avatar_url"
-              provider="ipx"
-              densities="x1 x2"
-              height="80px"
-              width="80px"
-              :alt="contributor.login"
-              loading="lazy"
-              class="rounded-xl w-full h-full transition lg:hover:scale-110"
-            />
+            <img
+              :src="contributor.avatar_url"
+              :alt="contributor.login"
+              loading="lazy"
+              class="rounded-xl w-20 h-20 transition lg:hover:scale-110"
+            />
🧹 Nitpick comments (32)
containers/docker-compose.relay.traefik.yml (1)

52-52: Add newline at end of file

Ensure a trailing newline after the last line to satisfy POSIX conventions and resolve YAML lint warnings.

apps/docs/content/3.nestri-relay/_dir.yml (1)

1-3: Add newline at end of file.
YAML files should end with a newline to satisfy common linting rules.

apps/docs/content/2.nestri-node/_dir.yml (1)

1-3: Add newline at end of file.
To comply with YAML lint rules, ensure the file ends with a newline character.

apps/docs/content/3.nestri-relay/1.what-is-nestri-relay.md (1)

8-9: Add newline at end of file.
Markdown files should end with a newline to satisfy POSIX and tooling expectations.

apps/docs/README.md (1)

49-49: Use “Check out” instead of “Checkout”.
“Checkout” is a noun; in this context use the verb phrase “Check out” for clarity.

apps/docs/content/1.introduction/_dir.yml (1)

3-3: Ensure newline at EOF

Add a newline at the end of the file to satisfy YAML lint (new-line-at-end-of-file).

@@ _dir.yml
 icon: lucide:rocket
+ 
apps/docs/content/2.nestri-node/6.node-faq.md (2)

1-5: Consistent frontmatter formatting

Consider standardizing quoting in frontmatter (e.g., use double quotes for string values) to align with other docs files.

@@ 6.node-faq.md
-title: Node FAQ
+title: "Node FAQ"
 description: This FAQ is made to address common questions about Nestri Node, the container which runs your games. Whether you're curious about compatibility, setup, or performance, you'll find answers to help you get started.
-icon: 'lucide:info'
+icon: "lucide:info"

11-11: Optional: Reintroduce performance caveat

You removed the warning about virtualization overhead. Consider noting potential latency or performance impacts in virtualized environments.

## Can I run Nestri Node in a virtualized environment like Proxmox?
Yes, you can run Nestri Node in a virtualized environment, provided you passthrough your GPU to the virtual machine. Note that virtualization may introduce additional latency and overhead.
apps/docs/content/2.nestri-node/1.what-is-nestri-node.md (2)

3-4: Fix grammar in front-matter description

“how does it powers the Nestri eco-system” is ungrammatical and “eco-system” is usually written “ecosystem”.

-description: What is Nestri Node and how does it powers the Nestri eco-system and your self-hosted cloud gaming experience.
+description: What Nestri Node is and how it powers the Nestri ecosystem and your self-hosted cloud-gaming experience.

7-7: Use the correct article before ‘NVIDIA’

The sentence should read “an NVIDIA” (vowel sound). Also add commas for readability.

-It runs on most Linux-based systems and requires a NVIDIA, AMD or Intel graphics card.
+It runs on most Linux-based systems and requires an NVIDIA, AMD, or Intel graphics card.
apps/docs/content/3.nestri-relay/3.container-cli.md (1)

15-20: Duplicate default port values may confuse users

Both --endpointPort and --webrtcUDPMux default to 8088. If that is intentional, add a clarification note; otherwise adjust one of the defaults.

apps/docs/content/2.nestri-node/7.developer-notes.md (2)

8-13: Improve heading & wording

Minor wording tweaks improve clarity and consistency.

-### Construct The Nestri Runner Docker Image
-Checkout your branch with the latest version of nestri and build the image `<your-nestri-image>` within git root folder:
+### Build the Nestri Runner Docker image
+Check out the branch containing the latest Nestri source and build the `<your-nestri-image>` image from the repository root:

20-24: Insert missing comma for readability

-For most games that are not DRM free you need a launcher. In this case use the umu launcher:
+For most DRM-protected games, you need a launcher. In this case, use the **umu-launcher**:
containers/docker-compose.relay.caddy.yml (2)

3-3: Pin Caddy image version
Using caddy:latest may introduce breaking changes. Pin to a specific version (e.g., caddy:2.6.5) to ensure reproducible deployments.


33-33: Add trailing newline
YAML files should end with a newline character to satisfy linters and some parsers.

apps/docs/content/2.nestri-node/3.getting-started.md (4)

22-24: Reconsider directory permissions
Granting chmod 777 on ~/nestri is overly permissive. For better security, use chmod 700 or map container UID/GID appropriately.


29-29: Fix article usage
Change “an unique name” to “a unique name” for correct English grammar.


13-15: Simplify code fence annotations
The syntax bash [pull image command] may not be supported by all markdown parsers. Use standard ```bash and move the descriptor below the block.


31-33: Improve command readability
These long podman run commands could be split across multiple lines with backslashes or indented flags to enhance clarity.

apps/docs/content/2.nestri-node/5.container-cli.md (2)

7-7: Add terminal punctuation
The introductory sentence ends without a period. Append one for consistency:

... effectively.

9-36: Consistent article usage in table descriptions
Many parameter descriptions lack determiners (e.g., “GPU index to use” → “The GPU index to use”). Consider revising entries for uniform style.

apps/docs/content/2.nestri-node/2.prerequisite.md (1)

24-26: Ensure proper list spacing
Add a blank line before and after each ::list{type="primary"} block to guarantee correct rendering in the static site generator.

apps/docs/content/1.introduction/2.faq.md (2)

32-32: Remove unnecessary comma
The comma in “Keep in mind that, because Nestri has to use…” is unnecessary. Use “Keep in mind that because Nestri has to use…” for a smoother flow.


35-35: Replace verbose phrase
Consider “Currently” instead of “At the moment” for conciseness:

Currently, we don’t have a dedicated app.
apps/docs/content/1.introduction/1.what-is-nestri.md (2)

23-25: Missing article in descriptive sentence

"splits single incoming stream to multiple potential players" is missing the article a before single.

- ...that splits single incoming stream to multiple potential players...
+ ...that splits a single incoming stream to multiple potential players...

17-19: Plural-possessive typo

"major vendor's GPUs" should be plural-possessive (vendors') to match the three vendors listed.

- ...most Linux-based systems and major vendor's GPUs (Intel, AMD, NVIDIA).
+ ...most Linux-based systems and major GPU vendors' GPUs (Intel, AMD, NVIDIA).
apps/docs/assets/css/tailwind.css (1)

31-34: Inconsistent spacing after colon in CSS custom-property declarations

Most variables include a space after :, but a handful don’t (--border:214.3…). Consistent spacing improves readability and avoids noisy diffs later on.

-    --border:214.3 31.8% 91.4%;
-    --input:214.3 31.8% 91.4%;
-    --ring:221.2 83.2% 53.3%;
+    --border: 214.3 31.8% 91.4%;
+    --input: 214.3 31.8% 91.4%;
+    --ring: 221.2 83.2% 53.3%;

Also applies to: 62-65

apps/docs/app.config.ts (2)

4-6: Update description – still references the template instead of Nestri

'Beautifully designed Nuxt Content template built with shadcn-vue…' looks copy-pasted from the starter template and doesn’t describe Nestri Docs.

-      description: 'Beautifully designed Nuxt Content template built with shadcn-vue. Customizable. Compatible. Open Source.',
+      description: 'Official Nestri documentation – architecture, deployment and API reference.',

20-30: Navigation duplication

The two GitHub links (star + plain logo) both point to the same repo. Consider removing one to reduce clutter.

README.md (1)

84-90: Unused reference & markdown-lint warnings

[vmaf-cuda-link] is defined but never used. Removing it (and any other unused reference definitions) will silence MD053 and keep the README tidy.

apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md (2)

44-47: Incorrect article

"an Reverse Proxy""a Reverse Proxy"

-## Self-hosted Nestri Relay with an Reverse Proxy
+## Self-hosted Nestri Relay with a Reverse Proxy

99-100: Verb/noun confusion

“setup the Caddyfile” → “set up the Caddyfile” (setup is a noun).

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0a1a4cd and 37d337c.

⛔ Files ignored due to path filters (8)
  • apps/docs/package-lock.json is excluded by !**/package-lock.json
  • apps/docs/public/cover.png is excluded by !**/*.png
  • apps/docs/public/favicon.ico is excluded by !**/*.ico
  • apps/docs/public/img/nestri-logo-sm.svg is excluded by !**/*.svg
  • apps/docs/public/img/nestri-logo.png is excluded by !**/*.png
  • apps/docs/public/img/nestri-logo.svg is excluded by !**/*.svg
  • apps/docs/public/logo.svg is excluded by !**/*.svg
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (46)
  • README.md (3 hunks)
  • apps/docs/.eslintrc.cjs (0 hunks)
  • apps/docs/.gitignore (1 hunks)
  • apps/docs/.npmrc (1 hunks)
  • apps/docs/README.md (1 hunks)
  • apps/docs/RELAY.md (0 hunks)
  • apps/docs/app.config.ts (1 hunks)
  • apps/docs/assets/css/tailwind.css (1 hunks)
  • apps/docs/components/AppSocialIcons.vue (0 hunks)
  • apps/docs/components/Logo.vue (0 hunks)
  • apps/docs/components/content/Contributors.vue (3 hunks)
  • apps/docs/components/layout/Header/Logo.vue (1 hunks)
  • apps/docs/content/0.index.md (0 hunks)
  • apps/docs/content/1.introduction/1.what-is-nestri.md (1 hunks)
  • apps/docs/content/1.introduction/2.faq.md (2 hunks)
  • apps/docs/content/1.introduction/_dir.yml (1 hunks)
  • apps/docs/content/2.nestri-node/1.what-is-nestri-node.md (1 hunks)
  • apps/docs/content/2.nestri-node/2.prerequisite.md (1 hunks)
  • apps/docs/content/2.nestri-node/3.getting-started.md (1 hunks)
  • apps/docs/content/2.nestri-node/4.troubleshooting.md (0 hunks)
  • apps/docs/content/2.nestri-node/5.container-cli.md (1 hunks)
  • apps/docs/content/2.nestri-node/6.node-faq.md (1 hunks)
  • apps/docs/content/2.nestri-node/7.developer-notes.md (1 hunks)
  • apps/docs/content/2.nestri-node/_dir.yml (1 hunks)
  • apps/docs/content/3.nestri-relay/1.what-is-nestri-node.md (0 hunks)
  • apps/docs/content/3.nestri-relay/1.what-is-nestri-relay.md (1 hunks)
  • apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md (2 hunks)
  • apps/docs/content/3.nestri-relay/3.container-cli.md (1 hunks)
  • apps/docs/content/3.nestri-relay/3.deploy-moq.md (0 hunks)
  • apps/docs/content/3.nestri-relay/4.advanced-users.md (0 hunks)
  • apps/docs/content/3.nestri-relay/5.moq-tester.md (0 hunks)
  • apps/docs/content/3.nestri-relay/_dir.yml (1 hunks)
  • apps/docs/content/4.nestri-internal/1.what-is-this.md (0 hunks)
  • apps/docs/content/4.nestri-internal/2.setup.md (0 hunks)
  • apps/docs/content/4.nestri-internal/_dir.yml (0 hunks)
  • apps/docs/content/index.md (1 hunks)
  • apps/docs/nuxt.config.ts (1 hunks)
  • apps/docs/package.json (1 hunks)
  • apps/docs/renovate.json (0 hunks)
  • apps/docs/sst-env.d.ts (0 hunks)
  • apps/docs/tailwind.config.js (1 hunks)
  • apps/docs/tokens.config.ts (0 hunks)
  • apps/docs/tsconfig.json (1 hunks)
  • containers/Caddyfile (1 hunks)
  • containers/docker-compose.relay.caddy.yml (1 hunks)
  • containers/docker-compose.relay.traefik.yml (1 hunks)
💤 Files with no reviewable changes (16)
  • apps/docs/content/2.nestri-node/4.troubleshooting.md
  • apps/docs/sst-env.d.ts
  • apps/docs/components/Logo.vue
  • apps/docs/content/3.nestri-relay/5.moq-tester.md
  • apps/docs/content/4.nestri-internal/_dir.yml
  • apps/docs/content/4.nestri-internal/2.setup.md
  • apps/docs/renovate.json
  • apps/docs/.eslintrc.cjs
  • apps/docs/content/3.nestri-relay/3.deploy-moq.md
  • apps/docs/content/4.nestri-internal/1.what-is-this.md
  • apps/docs/RELAY.md
  • apps/docs/content/3.nestri-relay/4.advanced-users.md
  • apps/docs/components/AppSocialIcons.vue
  • apps/docs/content/3.nestri-relay/1.what-is-nestri-node.md
  • apps/docs/content/0.index.md
  • apps/docs/tokens.config.ts
🧰 Additional context used
🪛 YAMLlint (1.37.1)
apps/docs/content/2.nestri-node/_dir.yml

[error] 3-3: no new line character at the end of file

(new-line-at-end-of-file)

apps/docs/content/3.nestri-relay/_dir.yml

[error] 3-3: no new line character at the end of file

(new-line-at-end-of-file)

apps/docs/content/1.introduction/_dir.yml

[error] 3-3: no new line character at the end of file

(new-line-at-end-of-file)

containers/docker-compose.relay.caddy.yml

[error] 33-33: no new line character at the end of file

(new-line-at-end-of-file)

containers/docker-compose.relay.traefik.yml

[error] 26-26: duplication of key "restart" in mapping

(key-duplicates)


[error] 52-52: no new line character at the end of file

(new-line-at-end-of-file)

🪛 LanguageTool
apps/docs/README.md

[grammar] ~48-~48: This sentence should probably be started with a verb instead of the noun ‘Checkout’. If not, consider inserting a comma for better clarity.
Context: ...on build: bash npm run preview Checkout the [deployment documentation](https://...

(SENT_START_NN_DT)

apps/docs/content/2.nestri-node/1.what-is-nestri-node.md

[misspelling] ~7-~7: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...n most Linux-based systems and requires a NVIDIA, AMD or Intel graphics card.

(EN_A_VS_AN)

apps/docs/content/index.md

[uncategorized] ~5-~5: Loose punctuation mark.
Context: --- title: Home navigation: false --- ::hero --- announcement: title: 'We are...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~26-~26: Loose punctuation mark.
Context: ...th your friends on your own game cloud. :: ::contributors ::

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~28-~28: Loose punctuation mark.
Context: ...our friends on your own game cloud. :: ::contributors ::

(UNLIKELY_OPENING_PUNCTUATION)

apps/docs/content/2.nestri-node/7.developer-notes.md

[uncategorized] ~20-~20: Possible missing comma found.
Context: ...sh ``` For most games that are not DRM free you need a launcher. In this case use t...

(AI_HYDRA_LEO_MISSING_COMMA)


[formatting] ~20-~20: Consider inserting a comma after an introductory phrase for better readability.
Context: ...t are not DRM free you need a launcher. In this case use the umu launcher: ```bash [install ...

(IN_THAT_CASE_COMMA)


[uncategorized] ~25-~25: Possible missing comma found.
Context: ...th the nestri user. If you have a linux game execute it like so: ```bash [execute ga...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~33-~33: Loose punctuation mark.
Context: ...nchers like Lutris to run other games. ::alert{type="danger"} Warning: Runni...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~35-~35: Loose punctuation mark.
Context: ...es. We cannot provide support for this. ::

(UNLIKELY_OPENING_PUNCTUATION)

apps/docs/content/2.nestri-node/3.getting-started.md

[uncategorized] ~6-~6: Loose punctuation mark.
Context: ...: 'lucide:message-circle-question' --- ::alert{type="danger"} Nestri is in a **v...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~8-~8: Loose punctuation mark.
Context: ... phase**, so errors and bugs may occur. :: ::alert{type="info"} You can pull the...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~10-~10: Loose punctuation mark.
Context: ...se**, so errors and bugs may occur. :: ::alert{type="info"} You can pull the doc...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~15-~15: Loose punctuation mark.
Context: ...io/nestrilabs/nestri/runner:nightly ``` :: ### Step 1: Create a home directory f...

(UNLIKELY_OPENING_PUNCTUATION)


[misspelling] ~29-~29: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...also need to replace <room_name> with an unique name for the room you will be us...

(EN_A_VS_AN)


[style] ~53-~53: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... ### Start the Nestri Container If you want to start the Nestri container after stoppi...

(REP_WANT_TO_VB)

apps/docs/content/2.nestri-node/2.prerequisite.md

[uncategorized] ~14-~14: Loose punctuation mark.
Context: ...er. ## Recommended host configuration ::list{type="primary"} - **AMD, NVIDIA or...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~22-~22: Loose punctuation mark.
Context: ...tribution :: ## Software Requirements ::list{type="primary"} - GPU Drivers ...

(UNLIKELY_OPENING_PUNCTUATION)

apps/docs/content/1.introduction/1.what-is-nestri.md

[uncategorized] ~23-~23: You might be missing the article “a” here.
Context: ...(Selective Forwarding Unit) that splits single incoming stream to multiple potential p...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

apps/docs/content/2.nestri-node/5.container-cli.md

[uncategorized] ~15-~15: A determiner appears to be missing. Consider inserting it.
Context: ...60 | Display/stream framerate. Default is 60 FPS. ...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~19-~19: A determiner appears to be missing. Consider inserting it.
Context: ...ring` | -1 | GPU index to use. Default is -1 (auto-select). ...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~23-~23: A determiner appears to be missing. Consider inserting it.
Context: ...control method. Options: cqp, vbr, cbr. Default is cbr. | | `--vid...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~24-~24: A determiner appears to be missing. Consider inserting it.
Context: ...t Quantization Parameter (CQP) quality. Default is 26. | | `--video...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~26-~26: A determiner appears to be missing. Consider inserting it.
Context: ... 8000 | Maximum bitrate in kbps. Default is 8000 kbps. ...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~26-~26: Possible missing comma found.
Context: ... | Maximum bitrate in kbps. Default is 8000 kbps. ...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~29-~29: A determiner appears to be missing. Consider inserting it.
Context: ... | opus | Preferred audio codec. Default is opus. ...

(AI_EN_LECTOR_MISSING_DETERMINER)


[grammar] ~29-~29: Is an article like ‘a’ or ‘an’ missing?
Context: ... | Preferred audio codec. Default is opus. ...

(BE_NN)


[uncategorized] ~31-~31: A determiner appears to be missing. Consider inserting it.
Context: ...control method. Options: cqp, vbr, cbr. Default is cbr. | | `--audio-bit...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~32-~32: A determiner appears to be missing. Consider inserting it.
Context: ... | Target audio bitrate in kbps. Default is 128 kbps. ...

(AI_EN_LECTOR_MISSING_DETERMINER)


[uncategorized] ~33-~33: A determiner appears to be missing. Consider inserting it.
Context: ... | Maximum audio bitrate in kbps. Default is 192 kbps. ...

(AI_EN_LECTOR_MISSING_DETERMINER)

apps/docs/content/1.introduction/2.faq.md

[formatting] ~32-~32: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...nce you’re aiming for. Keep in mind that, because Nestri has to use a GPU to encode the g...

(COMMA_BEFORE_BECAUSE)


[uncategorized] ~34-~34: A determiner appears to be missing. Consider inserting it.
Context: ...ng required. ## Do you have an app for phone or TV? Not yet! At the moment, we don...

(AI_EN_LECTOR_MISSING_DETERMINER)


[style] ~35-~35: For conciseness, consider replacing this expression with an adverb.
Context: ...have an app for phone or TV? Not yet! At the moment, we don’t have a dedicated app. However...

(AT_THE_MOMENT)


[style] ~56-~56: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 4798 characters long)
Context: ... hosted solution, Nestri has you covered!

(EN_EXCESSIVE_EXCLAMATION)

README.md

[style] ~90-~90: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 2331 characters long)
Context: ...https://polar.sh/nestri) Happy Gaming! 🎮🔥 [github-release-link]: https:/...

(EN_EXCESSIVE_EXCLAMATION)

apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md

[style] ~3-~3: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...which we highly recommend for those who want to start playing quickly on their own hard...

(REP_WANT_TO_VB)


[grammar] ~23-~23: The grammatical number of this noun might be incorrect. Did you mean to use the singular form here?
Context: ... Certificate**: This is the most common certificates for self-hosting and requires a domain ...

(SUPERLATIVE_NUMBER)


[grammar] ~25-~25: A determiner may be missing.
Context: ... - Purchased SSL Certificate: The easiest option for most users is to buy an SS...

(THE_SUPERLATIVE)


[misspelling] ~44-~44: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...sers. ## Self-hosted Nestri Relay with an Reverse Proxy ### Caddy As caddy user ...

(EN_A_VS_AN)


[uncategorized] ~47-~47: Possible missing comma found.
Context: ...th an Reverse Proxy ### Caddy As caddy user you can use the following docker-compos...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~99-~99: The word “setup” is a noun. The verb is spelled with a space.
Context: ...r values with your own. You should also setup the Caddyfile to match your domain. ##...

(NOUN_VERB_CONFUSION)


[uncategorized] ~102-~102: You might be missing the article “a” here.
Context: ...e to match your domain. ### Traefik As traefik user you can use the following docker-c...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~102-~102: Possible missing comma found.
Context: ...ch your domain. ### Traefik As traefik user you can use the following docker-compos...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)
apps/docs/README.md

20-20: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


21-21: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


22-22: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


23-23: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


25-25: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


27-27: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


28-28: Images should have alternate text (alt text)
null

(MD045, no-alt-text)

apps/docs/content/index.md

11-11: Bare URL used
null

(MD034, no-bare-urls)


14-14: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


16-16: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


18-18: Bare URL used
null

(MD034, no-bare-urls)


22-22: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


25-25: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)

README.md

90-90: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


110-110: Link and image reference definitions should be needed
Unused link or image reference definition: "vmaf-cuda-link"

(MD053, link-image-reference-definitions)

apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md

10-10: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


11-11: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


12-12: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


14-14: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


15-15: Unordered list indentation
Expected: 0; Actual: 2

(MD007, ul-indent)


23-23: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


25-25: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


33-33: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)


34-34: Unordered list style
Expected: asterisk; Actual: dash

(MD004, ul-style)

🔇 Additional comments (23)
apps/docs/.gitignore (4)

1-8: Approve build output ignore patterns

The new ignore entries for Nuxt build outputs and cache directories are comprehensive and correctly scoped.


13-15: Approve logs ignore section

The patterns for logs and *.log effectively cover runtime log files.


17-18: Approve miscellaneous ignore rules

Ignoring .DS_Store and .fleet alongside IDE settings is appropriate.


24-25: Approve environment file ignore rules

The rules to ignore all .env.* while preserving .env.example are correctly configured.

apps/docs/tailwind.config.js (4)

1-5: Import and core settings look good

The tailwindcss-animate plugin is properly imported, and the base options (darkMode, safelist, prefix) are correctly configured.


19-53: Extended theme colors are well-structured

The CSS variable–based palette for semantic tokens covers primary, secondary, destructive, muted, accent, popover, and card layers with matching foregrounds.


60-83: Keyframe animations and motion utilities

The custom keyframes and animation utilities align with Radix UI patterns and provide smooth accordion/collapsible behaviors.


87-88: Plugin registration is correct

The tailwindcss-animate plugin is correctly added to the plugins array.

containers/Caddyfile (1)

1-8: Verify placeholder domain and email

Replace relay.example.com and you@example.com with your actual domain and TLS email before deployment to ensure certificate issuance succeeds.

apps/docs/.npmrc (1)

2-2: Confirm peer dependency setting

Disabling strict peer dependencies (strict-peer-dependencies=false) can mask version conflicts. Ensure this is intentional for your npm workflow and won’t introduce hidden compatibility issues.

apps/docs/tsconfig.json (1)

2-3: Align TypeScript config with Nuxt defaults
Removing ignoreConfigErrors and extending Nuxt's generated TS config ensures proper type checking and consistency with the framework.

apps/docs/content/1.introduction/_dir.yml (1)

1-3: Documentation metadata updated correctly

The new title, icon, and navigation.redirect fields accurately describe and link the introduction section.

apps/docs/content/2.nestri-node/6.node-faq.md (2)

8-8: Approve Debian/Ubuntu support clarification

The updated answer correctly reflects that Debian/Ubuntu support is now possible but not recommended.


14-14: Approve Windows support statement

The answer clearly states that Windows-based systems are not supported and correctly highlights Linux-only deployment.

apps/docs/nuxt.config.ts (1)

4-6: Nuxt config updated for new theme

Replacing the theme with shadcn-docs-nuxt and updating compatibilityDate aligns with the migration plan.

apps/docs/components/content/Contributors.vue (2)

6-6: Add dark mode support to heading

The dark:text-white class correctly ensures the heading remains visible in dark mode.


36-38: Ensure badge color inversion in dark mode

The added dark:bg-white and dark:text-gray-950 classes correctly invert the index badge for dark mode.

apps/docs/package.json (1)

2-4: Project metadata updated appropriately

Renaming to "shadcn-docs-nuxt-starter" and setting "type": "module" aligns with the modular Nuxt setup.

apps/docs/content/index.md (1)

8-19: Incorrect indentation breaks markdown-component front-matter

YAML lists must be indented consistently; otherwise the site generator may fail to parse actions.

-actions:
-  - name: Documentation
-    to: /introduction/what-is-nestri
-  - name: GitHub
-    variant: outline
-    to: https://github.com/nestrilabs/nestri
-    leftIcon: 'lucide:github'
+actions:
+  - name: Documentation
+    to: /introduction/what-is-nestri
+  - name: GitHub
+    variant: outline
+    to: https://github.com/nestrilabs/nestri
+    leftIcon: 'lucide:github'

Likely an incorrect or invalid review comment.

containers/docker-compose.relay.caddy.yml (1)

17-18: Use official Nestri Relay image
The commented-out ghcr.io/nestrilabs/nestri/relay:nightly is the upstream image. Confirm whether datcaptainhorse/nestri-relay:latest is intentional and consider switching back to the official registry for consistency.

apps/docs/content/2.nestri-node/2.prerequisite.md (1)

18-19: Clarify OS support
This recommends only Fedora or Arch. Should we explicitly note that Debian/Ubuntu are unsupported or require additional configuration?

README.md (1)

48-52: Ubuntu support wording conflicts with existing docs

Here it says “Ubuntu works but is not recommended”, whereas other docs (and the review discussion) state Ubuntu is not supported. Please reconcile to avoid confusing users.

apps/docs/content/3.nestri-relay/2.selfhosted-nestri-relay.md (1)

147-154: Traefik labels – missing UDP support note

WebRTC media is over UDP 8088. Traefik will forward only TCP unless entryPoints.websecure.udp (or a separate UDP router) is configured. Add a note or example to prevent silent one-way media failures.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
README.md (2)

1-5: Consider using Markdown image syntax
Leveraging Markdown syntax (![Alt text](path)) improves readability and renders consistently across platforms.

Proposed change:

- <p align="center">
-     <a href="https://nestri.io">
-         <img src="apps/docs/public/README.png" alt="Nestri logo" />
-     </a>
- </p>
+ [![Nestri logo](apps/docs/public/README.png)](https://nestri.io)

7-8: Replace HTML headings with Markdown
Switch to native Markdown headings to simplify the README and ensure consistent styling.

Proposed change:

- <h1 align="center">nestri</h1>
- <p align="center"><i>Open-source cloud gaming platform</i></p>
+ # nestri
+ *Open-source cloud gaming platform*
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 37d337c and a68e56a.

⛔ Files ignored due to path filters (1)
  • apps/docs/public/README.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • README.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
README.md

3-3: Images should have alternate text (alt text)
null

(MD045, no-alt-text)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build and deploy docs

@wanjohiryan
Copy link
Member

@coderabbitai can you create an issue where i flesh out the README file. Thanks!

@wanjohiryan
Copy link
Member

Merging this as is

@wanjohiryan
Copy link
Member

@coderabbitai resolve all

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
README.md (2)

3-3: Fix wording in the tagline

Opensource should be written as two words. A hyphenated form is clearer and more common in OSS READMEs.

-Opensource and selfhostable cloud gaming platform
+Open-source and self-hostable cloud-gaming platform.

5-6: Remove TODO placeholder before merge

Leaving TODO blocks in the default branch looks unpolished. Either flesh the section out or drop it.

-> TIP
-> TODO: Finish up on this README
+For full documentation, please see the docs site ➜ https://docs.nestri.dev
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a68e56a and 6919198.

⛔ Files ignored due to path filters (1)
  • apps/docs/public/README.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • README.md (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Build and deploy docs
🔇 Additional comments (1)
README.md (1)

1-6: README is now too minimal—add a docs pointer

Since most information has moved to apps/docs, newcomers have no installation or usage hint. At minimum, add a “Getting started” link to the docs before merging.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 1, 2025

Tip

For best results, initiate chat on the files or code changes.

@wanjohiryan I've reviewed the comment chain and there aren't any specific CodeRabbit review comments that require resolution in this PR. The main discussion was about the Ubuntu support inconsistency between the README and documentation that @Christiangnuxyz pointed out.

The key points from the discussion were:

  • The README mentions Nestri can run on Ubuntu
  • The current documentation states Debian and Ubuntu are not supported
  • This inconsistency should ideally be addressed in the documentation before updating the README

Since you mentioned you're merging this as-is, these discussion points are noted but don't require immediate action in this PR.

I notice you had earlier requested me to create an issue to flesh out the README file. Would you still like me to create that GitHub issue as a follow-up action?

🐰✨
(\ /)
( ..)
o
(")(")

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 1, 2025

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

@wanjohiryan I'll create a GitHub issue to track the README improvement work!


🏁 Script executed:

#!/bin/bash
# Create a GitHub issue for fleshing out the README file
gh issue create \
  --title "📖 Enhance README.md with comprehensive project information" \
  --body "## Background

The README.md was simplified in PR #189 to a minimal layout with just the logo, title, and tagline. While this creates a clean visual presentation, it removes important project information that users need to understand Nestri.

## Description

We need to flesh out the README.md to provide comprehensive information about the project while maintaining a clean and professional appearance.

## Tasks

- [ ] Add project description and overview
- [ ] Include key features and capabilities
- [ ] Add installation/getting started instructions
- [ ] Include links to detailed documentation
- [ ] Add contribution guidelines
- [ ] Include license information
- [ ] Add badges for build status, version, etc.
- [ ] Ensure consistency with the documentation (address the Ubuntu/Debian support discrepancy mentioned in the PR discussion)
- [ ] Add screenshots or demo links if available
- [ ] Include community/support links

## Context

- **Related PR**: https://github.com/nestrilabs/nestri/pull/189
- **Requested by**: @wanjohiryan
- **Comment**: https://github.com/nestrilabs/nestri/pull/189#issuecomment-$(gh pr view 189 --json comments --jq '.comments[-1].id')

## Acceptance Criteria

- README provides clear understanding of what Nestri is and does
- Installation/setup instructions are clear and accurate
- Documentation links are comprehensive and up-to-date
- Information is consistent with the project documentation
- Maintains visual appeal with proper formatting and structure" \
  --assignee wanjohiryan

Length of output: 1684


Perfect! I've successfully created GitHub issue #296 to track the README enhancement work.

Issue created: #296

The issue includes:

  • ✅ Background context about the current simplified README
  • ✅ Comprehensive task checklist covering all aspects of a good README
  • ✅ Reference to the Ubuntu/Debian documentation consistency issue mentioned earlier in this PR
  • ✅ Clear acceptance criteria
  • ✅ Backlinks to this PR and your comment
  • ✅ Assigned to you (@wanjohiryan)

The issue provides a solid roadmap for creating a comprehensive README that balances informativeness with visual appeal while ensuring consistency with your documentation.

    (\   /)
   ( ._. )
  o_(")(")
   Planning ahead like a good rabbit! 🐰✨

Copy link
Member

@wanjohiryan wanjohiryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wanjohiryan
Copy link
Member

@coderabbitai resolve

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jul 1, 2025

✅ Actions performed

Comments resolved.

@wanjohiryan wanjohiryan merged commit 191c59d into main Jul 1, 2025
2 checks passed
@wanjohiryan wanjohiryan deleted the feat/readme branch July 1, 2025 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants