Skip to content

AGENTS.md: add shadcn-egui UI element reference#1248

Open
alltheseas wants to merge 1 commit intodamus-io:masterfrom
alltheseas:patch-1
Open

AGENTS.md: add shadcn-egui UI element reference#1248
alltheseas wants to merge 1 commit intodamus-io:masterfrom
alltheseas:patch-1

Conversation

@alltheseas
Copy link
Contributor

@alltheseas alltheseas commented Jan 16, 2026

added reference to https://github.com/alltheseas/shadcn-egui-notedeck in AGENTS.md

Summary by CodeRabbit

  • Documentation
    • Updated UI composition recommendations in internal guidelines.

✏️ Tip: You can customize this high-level summary in your review settings.

@alltheseas alltheseas added the documentation Improvements or additions to documentation label Jan 16, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 16, 2026

📝 Walkthrough

Walkthrough

A documentation update to the AGENTS.md file that adds a recommendation for considering shadCN-egui UI elements as part of UI Composition guidance, including a reference link to the associated repository.

Changes

Cohort / File(s) Summary
Documentation
AGENTS.md
Added bullet point recommending shadCN-egui UI elements under UI Composition section

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A whisker-twitch, a line so fine,
In UI suggestions, a gem does shine,
shadCN-egui now takes the stage,
Elegance penned on the documentation page!
Hopping through changes, both light and bright! 🌟

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately describes the main change: adding a shadcn-egui UI element reference to AGENTS.md.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@alltheseas alltheseas requested a review from jb55 January 16, 2026 19:32
Copy link

@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: 1

🤖 Fix all issues with AI agents
In `@AGENTS.md`:
- Line 54: Update the AGENTS.md line referencing shadCN-egui to follow markdown
link best practices and add a short explanatory context; replace the raw URL
with a named link (e.g., "shadCN‑egui UI components") and append one sentence
describing what the library provides (lightweight Egui-based UI components for
Rust/Wasmtime GUIs) and when to consider it (e.g., for prototype UIs or
Rust-based frontend experiments).
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4c2173c and ace83d3.

📒 Files selected for processing (1)
  • AGENTS.md
🧰 Additional context used
🧠 Learnings (10)
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Embrace egui idioms in UI code: builder chains, closures returning `Response`, `ui.vertical`/`horizontal` for layout

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Never block the render loop; use `Promise::ready()` for non-blocking result checks. Offload CPU-heavy work to `JobPool` or `tokio::spawn()`, returning results via channels or Promises

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Inspect Notedeck code for reusable components, elements, and patterns before creating new code for both Notedeck updates and apps built on Notedeck

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/app.rs : Implement the `App` trait with `update(&mut self, &mut AppContext, &mut egui::Ui) -> AppResponse` to drive egui rendering and signal high-level actions

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Wrap async work in `poll_promise::Promise`, check with `promise.ready()` or `promise.ready_mut()` each frame—never block the render loop

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Never use Mutexes in UI paths; the render loop must never block. Use `Rc<RefCell<>>` for single-threaded interior mutability, `Arc<tokio::sync::RwLock<>>` for cross-thread sharing, and `poll_promise::Promise` for async results

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : For animations (GIFs, video), track `repaint_at` timestamps and only request repaints when necessary; avoid spinning every frame

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Prefer module-level organization over monolithic files; each feature (accounts, decks, timelines, media) should live in its own module tree

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Use `JobPool` for CPU-bound work and return results via `tokio::sync::oneshot` wrapped in Promises; use `tokio::spawn()` for network I/O and relay sync

Applied to files:

  • AGENTS.md
📚 Learning: 2026-01-05T20:25:35.921Z
Learnt from: CR
Repo: damus-io/notedeck PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-05T20:25:35.921Z
Learning: Applies to crates/notedeck*/src/**/*.rs : Avoid Mutexes in Notedeck code; prefer `poll_promise::Promise` for async results, `Rc<RefCell<>>` for single-threaded interior mutability, or `tokio::sync::RwLock` when cross-thread sharing is truly necessary

Applied to files:

  • AGENTS.md
🪛 markdownlint-cli2 (0.18.1)
AGENTS.md

54-54: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Test (Windows) / run
  • GitHub Check: Rustfmt + Clippy
  • GitHub Check: Test (macOS) / run
  • GitHub Check: Test (Linux) / run
  • GitHub Check: Check (android)

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

- Profile widgets (`ProfilePic`, `ProfilePreview`), media viewers, mention chips, and timeline helpers keep rendering consistent.
- **Columns-specific layout**: `Damus` app (`crates/notedeck_columns/src/app.rs`) manages decks, per-column routers, timeline hydration, and keyboard navigation. It uses `StripBuilder` and custom panels for multi-column flows.
- **Chrome** handles responsive breakpoints (e.g., `ui::is_narrow`) to switch layouts for mobile widths.
- **Consider using shadCN-egui UI** elements: https://github.com/alltheseas/shadcn-egui-notedeck
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if repository exists and get metadata
curl -s -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/repos/alltheseas/shadcn-egui-notedeck | \
  jq '{name, description, archived, fork, stargazers_count, updated_at, html_url}'

Repository: damus-io/notedeck

Length of output: 315


🏁 Script executed:

#!/bin/bash
# Get README content from the repository
curl -s -H "Accept: application/vnd.github.raw+json" \
  https://api.github.com/repos/alltheseas/shadcn-egui-notedeck/readme | head -100

Repository: damus-io/notedeck

Length of output: 4258


🏁 Script executed:

#!/bin/bash
# Check markdown formatting rules - verify MD034 applies to bare URLs
# Search for the actual line in the context if available
echo "MD034 rule: Bare URLs without markdown link syntax"
echo "Expected format: [text](url) instead of bare url"
echo "This is a standard markdown best practice violation"

Repository: damus-io/notedeck

Length of output: 212


Fix markdown formatting and add context for the UI library reference.

The bare URL violates markdown best practices (MD034). Additionally, the line lacks context about what shadCN-egui provides or when developers should consider using it.

📝 Proposed improvement
-- **Consider using shadCN-egui UI** elements: https://github.com/alltheseas/shadcn-egui-notedeck
+- **shadCN-egui components**: A collection of 48+ pre-built UI components ported from shadcn/ui to egui with accessibility and mobile support. See the [shadcn-egui-notedeck repository](https://github.com/alltheseas/shadcn-egui-notedeck) for details.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Consider using shadCN-egui UI** elements: https://github.com/alltheseas/shadcn-egui-notedeck
- **shadCN-egui components**: A collection of 48+ pre-built UI components ported from shadcn/ui to egui with accessibility and mobile support. See the [shadcn-egui-notedeck repository](https://github.com/alltheseas/shadcn-egui-notedeck) for details.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

54-54: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In `@AGENTS.md` at line 54, Update the AGENTS.md line referencing shadCN-egui to
follow markdown link best practices and add a short explanatory context; replace
the raw URL with a named link (e.g., "shadCN‑egui UI components") and append one
sentence describing what the library provides (lightweight Egui-based UI
components for Rust/Wasmtime GUIs) and when to consider it (e.g., for prototype
UIs or Rust-based frontend experiments).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant