AGENTS.md: add shadcn-egui UI element reference#1248
AGENTS.md: add shadcn-egui UI element reference#1248alltheseas wants to merge 1 commit intodamus-io:masterfrom
Conversation
📝 WalkthroughWalkthroughA 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
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
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
📒 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 |
There was a problem hiding this comment.
🧩 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 -100Repository: 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.
| - **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).
added reference to https://github.com/alltheseas/shadcn-egui-notedeck in AGENTS.md
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.