-
Notifications
You must be signed in to change notification settings - Fork 45
Add AGENTS.md agent overview #1166
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
base: master
Are you sure you want to change the base?
Conversation
alltheseas
commented
Oct 16, 2025
- Overview: outlines how Notedeck’s agent-style apps fit into the repo, emphasizing architecture, coding patterns, and shared services.
- Repo map: describes key crates (core host, chrome shell, columns client, shared UI, Dave agent, token utilities) and their responsibilities.
- Core abstractions: details the App trait, Notedeck host, AppContext, and AppResponse flow that power app integration.
- UI/navigation: explains chrome container behavior, app registration via NotedeckApp, preview/theming support, and shared egui components.
- Data/networking: covers NostrDB usage, caching layers, relay pool subscriptions, and debounced persistence utilities.
- Async patterns: highlights job pool usage, streaming updates (from Dave), and relay event handling.
- Conventions: stresses strict linting, modular structure, tracing/profiling, localization workflow, and testing practices.
- Agent integration checklist: step-by-step guidance for building, registering, theming, localizing, and wiring new agents.
- Reference links: points to developer docs across crates for deeper dives into architecture, UI components, and agent tooling.
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.
Pull Request Overview
Adds AGENTS.md to document how agent-style apps integrate with Notedeck, covering architecture, shared services, UI patterns, data/networking, async patterns, conventions, and an integration checklist.
- Introduces a high-level map of crates and responsibilities
- Documents core abstractions (App, Notedeck host, AppContext, AppResponse) and UI/container patterns
- Provides an agent integration checklist and references to deeper docs
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
### UI Container & Navigation | ||
|
||
- **Chrome shell** (`crates/notedeck_chrome/src/chrome.rs`): wraps multiple `App` instances, draws sidebar navigation, and forwards egui `update` passes to the active app. | ||
- **`NotedeckApp` enum** (`crates/notedeck_chrome/src/app.rs`) defines the shipping app roster (Columns/Damus, Dave, others) and provides constructors for wiring new apps. |
Copilot
AI
Oct 16, 2025
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.
[nitpick] Terminology mixes 'Columns' and 'Damus' in different places. To avoid confusion, standardize the naming (e.g., 'Damus (notedeck_columns)') here and use the same term consistently throughout the doc.
Copilot uses AI. Check for mistakes.
Use a fully qualified path here for consistency with surrounding references (e.g., line 18). Suggest: (crates/notedeck/src/app.rs) instead of just (app.rs). Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>