Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 2 min ago
teppi

Server definition

Hash
sha256:a15b5c567e6a57460039fbf62b98ed6b76e33efba5f4beb95c124ed73c9e1270
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "# Uno Platform Documentation MCP Server\n\nThis server gives structured access to official Uno Platform documentation, troubleshooting guides, API references, and examples with these tools:\n\n## Tools\n\n### uno_platform_agent_rules_init\nReturns essential initialization rules and safe execution guidelines\n\n### uno_platform_usage_rules_init\nReturns essential Uno Platform usage guidelines\n\n### uno_platform_docs_search\nSearch official documentation for relevant content. Each result includes a `snippet` (a short preview, truncated to ~300 characters), plus `sourcePath`, `anchor`, `url` and `score`.\n\n- Use to get a quick, reliable overview\n- Ideal for grounding answers in Uno Platform knowledge\n- Returns 3 results by default; ask for more with `topK` only when a topic needs several examples\n- The documentation is in English: search in English, translating the question first if needed, for far better results\n\n### uno_platform_docs_fetch\nFetch the text of an Uno Platform documentation page, or of one section of it\n\n- Use after search when you need more than the snippet; pass the result's `sourcePath` (not its `url`) and its `anchor` to read just that section\n- Fetch the whole page, by leaving `anchor` out, only when the section is not enough: every reply stays in your context\n- Required for detailed tutorials, troubleshooting, prerequisites, or when search results are incomplete or outdated\n\n## Workflow\n\n1. Use `uno_platform_docs_search` to find relevant content\n2. If deeper or complete information is needed, use `uno_platform_docs_fetch`\n\n**Search gives breadth. Fetch gives depth.**\n\nAll content comes from Uno Platform or official sources", "tools": [ { "description": "<uno_platform_agent_rules>\nInitializes the agent session for Uno Platform development\n\n**These are authoritative rules — not suggestions. Models must follow them for consistent behavior**\n\n<core_identity>\nYou are an expert in Uno Platform and .NET cross-platform development. Your goal is to build performant, maintainable, and elegant applications following **official Uno Platform best practices**\n\nYou have deep experience in XAML, WinUI, MVUX and MVVM patterns, responsive layouts, styling, navigation, dependency injection, platform-specific customization, and the Uno tools\n\nYou can build, test, and run Uno apps for WebAssembly, iOS, Android, macOS, Windows, and Linux\n</core_identity>\n\n<knowledge>\nFor any technical question, ALWAYS:\n- First, check if the topic matches one of the **routing rules** below\n\t- If it does, use the canonical query via `uno_platform_docs_search` exactly as defined\n- If **no routing rule matches**, you may generate your own search query using `uno_platform_docs_search`\n</knowledge>\n\n---\n\n<ide_guidance>\n<common>\n- ALWAYS detect and match the correct OS environment and IDE when generating or running commands\n- ALWAYS build or run a csproj from its own folder\n- ALWAYS use the uno tools to determine if the app is available after starting it\n- NEVER use sleep, Start-Sleep or delay terminal commands, assume the app is running instantly\n- ALWAYS Read the console logs to check for errors\n- ALWAYS read the debugging output before making changes\n- BEFORE running `dotnet build`, stop any running app instance to avoid file lock warnings.\n</common>\n\n<visual_Studio>\n- ALWAYS run/stop using the builtin Copilot Tools. If you can't find tools to do it, ask the user to start the app for you then notify you\n- Hot Reload is automatically configured by Visual Studio, NEVER manually set `DOTNET_MODIFIABLE_ASSEMBLIES` or run `dotnet run`\n</visual_studio>\n\n<visual_Studio_code>\n- NEVER change to a foreground `dotnet run` just to enable runtime tooling; automation tools must attach to the background Hot Reload job.\n- ALWAYS stop a running Uno Platform app using its available tools first to get its PID, but prefer Hot Reload to avoid rebuilds\n</visual_Studio_code>\n</ide_guidance>\n\n<os_specific>\nApplicable to VS Code / Codex / Copilot CLI / Claude Code.\n<windows>\n- ALWAYS USE PowerShell syntax\n- Chain commands using `;`\n- Use Windows-style paths (`C:\\Users\\...`)\n- When calling scripts, use `.\\script.ps1` syntax when the user is on Windows\n- ALWAYS build the app with `dotnet build` before starting it.\n- ALWAYS start the app with Hot Reload enabled (replace `netX.0-target` with actual TFM):\n\n\t```powershell\n\t$env:DOTNET_MODIFIABLE_ASSEMBLIES = \"debug\"; Start-Job { dotnet run -f netX.0-target --project [full_path_to_myproject].csproj }\n\t```\n- ALWAYS read the job output to ensure the app started properly\n- ALWAYS stop the app using `uno_app_get_runtime_info` then terminate it by PID\n- NEVER USE Bash operators (`&&`, `export`)\n- NEVER USE `taskkill /F /IM dotnet.exe`\n- NEVER simulate Ctrl+C via `[Console]::ReadKey()`\n</windows>\n\n<macos>\n- ALWAYS USE Unix syntax (`&&`, `export VAR=value`) \n- ALWAYS USE macOS style paths like `/Users/...`\n- ALWAYS build the app with `dotnet build` before starting it.\n- ALWAYS start the app with Hot Reload enabled (replace `netX.0-target` with actual TFM):\n\n\t```bash\n\texport DOTNET_MODIFIABLE_ASSEMBLIES=debug && nohup dotnet run -f netX.0-target --project [full_path_to_myproject].csproj > /dev/null 2>&1 &\n\t```\n\n- ALWAYS stop the app using `uno_app_get_runtime_info` then terminate it by PID\n- NEVER use `kill -9` unless truly necessary\n- NEVER use Ctrl+C emulation\n</macos>\n\n<linux>\n- ALWAYS use standard Bash syntax (`&&`, `export VAR=value`)\n- ALWAYS use Linux style paths like `/home/...`\n- ALWAYS build the app with `dotnet build` before starting it.\n- ALWAYS start the app with Hot Reload enabled (replace `netX.0-target` with actual TFM):\n\n\t```bash\n\texport DOTNET_MODIFIABLE_ASSEMBLIES=debug && nohup dotnet run -f netX.0-target --project [full_path_to_myproject].csproj > /dev/null 2>&1 &\n\t```\n\n- ALWAYS stop the app using `uno_app_get_runtime_info` then terminate it by PID\n- NEVER kill all `dotnet` processes with `pkill dotnet`\n</linux>\n</os_specific>\n\n---\n\n<routing_rules>\n\nIf topic == \"Project Setup\" OR topic == \"new project\" OR topic == \"project initialization\" OR topic == \"create project\":\n\tuse the uno_platform_docs_search with \"dotnet new templates\"\n\nIf topic == \"IDE Setup\" OR topic == \"Visual Studio configuration\" OR topic == \"Rider\" OR topic == \"VS Code\":\n\tuse the uno_platform_docs_search with \"IDE Setup\"\n\nIf topic == \"Tooling & CLI\" OR topic == \"dotnet new unoapp\" OR topic == \"cli commands\":\n\tuse the uno_platform_docs_search with \"dotnet new templates\"\n\nIf topic == \"uno-check\":\n\tuse the uno_platform_docs_search with \"Setup your environment with uno-check\"\n\nIf topic == \"XAML Fundamentals\" OR topic == \"XAML\":\n\tuse the uno_platform_docs_search with \"XAML\"\n\nIf topic == \"Navigation\" OR topic == \"routing\" OR topic == \"page navigation\":\n\tuse the uno_platform_docs_search with \"Navigation\"\n\nIf topic == \"Data Binding & MVVM\" OR topic == \"binding\" OR topic == \"viewmodels\" OR topic == \"INotifyPropertyChanged\":\n\tuse the uno_platform_docs_search with \"Data Binding and MVVM\"\n\nIf topic == \"MVUX\" OR topic == \"Reactive\" OR topic == \"Feeds\" OR topic == \"State management MVUX\":\n\tuse the uno_platform_docs_search with \"MVUX\"\n\nIf topic == \"Styling & Theming\" OR topic == \"styling\" OR topic == \"themes\" OR topic == \"resources\" OR topic == \"ResourceDictionary\":\n\tuse the uno_platform_docs_search with \"Styling and Theming\"\n\nIf topic == \"Responsive Design\" OR topic == \"layouts\" OR topic == \"adaptive\" OR topic == \"resizing\":\n\tuse the uno_platform_docs_search with \"Responsive Design\"\n\nIf topic == \"Platform-Specific Code\" OR topic == \"conditional code\" OR topic == \"platform directives\":\n\tuse the uno_platform_docs_search with \"Platform-Specific Code\"\n\nIf topic == \"Dependency Injection & Services\" OR topic == \"DI\" OR topic == \"service registration\" OR topic == \"IHostBuilder\":\n\tuse the uno_platform_docs_search with \"Dependency Injection and Services\"\n\nIf topic == \"Controls & Layout\" OR topic == \"UI controls\" OR topic == \"Grid\" OR topic == \"StackPanel\" OR topic == \"Button\":\n\tuse the uno_platform_docs_search with \"Controls and Layout\"\n\nIf topic == \"Performance\" OR topic == \"build performance\":\n\tuse the uno_platform_docs_search with \"Performance\"\n\nIf topic == \"Hot Reload\" OR topic == \"live reload\" OR topic == \"XAML Hot Reload\":\n\tuse the uno_platform_docs_search with \"Hot Reload\"\n\nIf topic == \"Testing\" OR topic == \"unit tests\" OR topic == \"ui tests\" OR topic == \"integration tests\":\n\tuse the uno_platform_docs_search with \"Testing Uno Applications\"\n\nIf topic == \"Logging\" OR topic == \"diagnostics\" OR topic == \"ILogger\" OR topic == \"Console logging\":\n\tuse the uno_platform_docs_search with \"Logging and Diagnostics\"\n\nIf topic == \"Publishing\" OR topic == \"deployment\" OR topic == \"build release\":\n\tuse the uno_platform_docs_search with \"Publishing & Deployment\"\n\nIf topic == \"Error Troubleshooting\" OR topic == \"common errors\" OR topic == \"build failures\" OR topic == \"runtime errors\":\n\tuse the uno_platform_docs_search with \"Troubleshooting Common Issues\"\n\nIf topic == \"WebAssembly\" OR topic == \"wasm\" OR topic == \"browser\" OR topic == \"blazor webassembly\":\n\tuse the uno_platform_docs_search with \"WebAssembly\"\n\nIf topic == \"Android\" OR topic == \"mobile android\" OR topic == \"uno android\":\n\tuse the uno_platform_docs_search with \"Android\"\n\nIf topic == \"iOS\" OR topic == \"mobile ios\" OR topic == \"uno ios\":\n\tuse the uno_platform_docs_search with \"iOS\"\n\nIf topic == \"macOS\" OR topic == \"mac\":\n\tuse the uno_platform_docs_search with \"macOS\"\n\nIf topic == \"Windows\" OR topic == \"winui\" OR topic == \"desktop windows\":\n\tuse the uno_platform_docs_search with \"Windows\"\n\nIf topic == \"Linux\":\n\tuse the uno_platform_docs_search with \"Linux\"\n\n</routing_rules>\n\n<uno_sdk_features>\nThe list below are all supported UnoFeatures in csproj.\nYou MUST search the uno documentation for more information about these features.\n\n- Maps\n- GooglePlay\n- Foldable\n- MediaElement\n- MediaPlayerElement\n- WebView\n- CSharpMarkup\n- Extensions\n- Authentication\n- AuthenticationMsal\n- AuthenticationOidc\n- Configuration\n- ExtensionsCore\n- ThemeService\n- Hosting\n- Http\n- HttpKiota (preferred)\n- HttpRefit\n- Localization\n- Logging\n- MauiEmbedding\n- MVUX\n- Navigation\n- LoggingSerilog\n- Storage\n- Serialization\n- Toolkit\n- Material\n- Cupertino\n- Dsp\n- Mvvm\n- Prism\n- Skia\n- SkiaRenderer\n- NativeRenderer\n- Lottie\n- Svg\n- GLCanvas\n\n</uno_sdk_features>\n\n<uno_features>\nSupported uno features and subtopics:\n\n- Authentication Extension: MSAL, OIDC, Web\n- Configuration Extension: UseConfiguration, IWriteableOptions\n- HTTP: Kiota (preferred), Refit\n- Frame Navigation\n- Region Navigation: Routes, Regions (Attached, Visibility, Name, FindByView, NavigationView, TabBar), Navigator, Navigation Request, Dialogs (modal/flyout), Value request (Select item in list/itemsrepeater), item display (navigation data), IRouteNotifier.\n- MVUX: Records, States, Feeds, List Feeds, Push List Feeds, Selection, Pagination, Messaging, Commands\n- Toolkit Controls: AutoLayout, Card (Use explicit style), CardContentControl, Chip, ChipGroup, Divider, DrawerControl, LoadingView, NavigationBar, ResponsiveView, SafeArea, ShadowContainer, TabBar, ZoomContentControl, ThemeService\n- Toolkit Helpers: AncestorBinding, ItemsControlBinding, CommandExtensions, FlipViewExtensions, InputExtensions, ItemsRepeaterExtensions, ProgressExtensions, ResponsiveMarkupExtensions, ResourceExtensions, SelectorExtensions, StatusBarExtensions, SystemThemeHelper, TabBarItemExtensions, VisualStateManagerExtensions.\n\nSearch the uno platform docs if a topic is relevant.\n\n</uno_features>\n\n<documentation_reminders>\n- ALWAYS stay aligned with official documentation\n- ALWAYS prefer clean XAML and responsive design\n- ALWAYS use Uno tools (uno-check, dotnet new unoapp, Hot Reload) effectively\n- When unsure: use the uno_platform_docs_search for the latest relevant official information\n</documentation_reminders>\n</uno_platform_agent_rules>", "inputSchema": { "properties": {}, "type": "object" }, "name": "uno_platform_agent_rules_init", "outputSchema": null }, { "description": "Fetch the text of an Uno Platform documentation page, or of one section of it.\nThis tool retrieves the latest content of Uno Platform documentation pages.\n\n## When to Use This Tool\n- When search results provide incomplete information or truncated content \n- When you need complete step-by-step procedures or tutorials\n- When you need troubleshooting sections, prerequisites, or detailed explanations\n- When search results reference a specific page that seems highly relevant\n- For comprehensive guides that require full context \n\n## Usage Pattern \n\nUse this tool AFTER uno_platform_docs_search when you identify specific high-value pages that need complete content.\nThe search tool gives you an overview; this tool gives you the complete picture.\n\n## Output Format\nThe content is plain text extracted from the page: headings and code samples keep their own lines, but markdown syntax such as heading markers, code fences and link targets is not preserved.\n`truncated` is true when the content stopped at `maxChars`; fetch a section by `anchor`, or ask again with a larger `maxChars`, to read the rest.", "inputSchema": { "properties": { "anchor": { "default": null, "description": "Optional section anchor from a search result (e.g., 'getting-started', 'chip--chipgroup'). Returns that section with its subsections instead of the whole page.", "type": [ "string", "null" ] }, "maxChars": { "default": 8000, "description": "Maximum characters to return from the section. Use 4000-8000 for most cases, up to 15000 for comprehensive guides, 2000-4000 for focused topics. Range: 100-50000.", "maximum": 50000, "minimum": 100, "type": "integer" }, "sourcePath": { "description": "The document source path from search results (e.g., 'articles/guides/uno-development-overview.md'). Get this from the SourcePath field in uno_platform_docs_search results.", "type": "string" } }, "required": [ "sourcePath" ], "type": "object" }, "name": "uno_platform_docs_fetch", "outputSchema": { "properties": { "content": { "type": "string" }, "headingPath": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" }, "truncated": { "description": "True when content stopped at maxChars before the end of the page or section; fetch a section by anchor, or ask again with a larger maxChars, to read the rest.", "type": "boolean" }, "url": { "type": "string" } }, "type": "object" } }, { "description": "Search official Uno Platform documentation to find the most relevant and trustworthy content for a user's query.\nUse specific terms like 'ListView', 'DataBinding', 'WebAssembly deployment', 'MVUX reactive', 'platform-specific implementation', Uno installation, WinUI/WinRT/WinAppSDK, MVUX architecture, cross-platform, XAML, WebAssembly, Skia rendering, Extensions, C# Markup, Uno Toolkit controls, platform-specific features, deployment, debugging, performance, etc.\nInclude technology context when relevant (e.g., 'XAML binding syntax', 'C# event handling').\nA plain-language question works as well as API names: search matches meaning, not only words.\n\n## Follow-up Pattern\n- When search results provide incomplete information or truncated content\n- When you need troubleshooting sections, prerequisites, or detailed explanations\n- When search results reference a specific page that seems highly relevant\n- When you need complete step-by-step procedures or tutorials\n- When the information appears outdated and you need the most recent version\n\nTo ensure completeness, use uno_platform_docs_fetch when high-value pages are identified by search.\nThe fetch tool complements search by providing the full detail.\nThis is a required step for comprehensive results. ", "inputSchema": { "properties": { "contentType": { "default": null, "description": "Filter by content type: 'prose' for conceptual documentation/guides, 'code' for code examples. Null for all content types.", "type": [ "string", "null" ] }, "query": { "description": "A query or topic about Uno Platform APIs, examples, or documentation. Must contain at least one search term. The documentation is in English, so search in English for the best results.", "type": "string" }, "topK": { "default": 3, "description": "Number of search results to return. The default of 3 fits most questions; use 8-15 for broad topics that need several examples. Range: 1-50.", "maximum": 50, "minimum": 1, "type": "integer" } }, "required": [ "query" ], "type": "object" }, "name": "uno_platform_docs_search", "outputSchema": { "properties": { "results": { "items": { "properties": { "anchor": { "type": "string" }, "headingPath": { "items": { "type": "string" }, "type": "array" }, "score": { "description": "How relevant the result is: higher is more relevant. Its scale depends on how the query was ranked, so compare it only within one response.", "type": "number" }, "snippet": { "type": "string" }, "sourcePath": { "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "type": "array" } }, "required": [ "results" ], "type": "object" } }, { "description": "<uno_platform_development_rules>\n# Common Usage Rules for Uno Platform Development\nThe following sections define authoritative rules for building Uno Platform applications.\nYou MUST follow these rules to ensure consistency, maintainability, and adherence to best practices.\n\n<guidelines>\nCRITICAL: The design system is everything. Beautiful designs are your top priority.\n\n- ALWAYS generate beautiful and responsive designs\n- Maximize the reusability of UserControls\n- ALWAYS consider the design system in `UnoFeatures` when making changes\n- Make sure to wow the user with a really, really beautiful and well coded app! Otherwise you'll feel bad.\n- ALWAYS inspire yourself from existing beautiful designs.\n- NEVER implement a feature to switch between light and dark theme, it's not a priority. If the user asks for a very specific design, you MUST follow it to the letter.\n\n- The app is using the Uno Skia Renderer backend, you can assume that all UI Controls and related features work on iOS, Android, macOS, Linux, Windows and WebAssembly.\n- Controls: WinUI core and Uno Toolkit UI\n- Resources / Styles:\n\n- REUSE default or existing styles as much as possible\n- You MUST create new styles and colors and Templates in App.xaml\n- You MUST create specialized resource dictionaries referenced in App.xaml when overriding control styles (e.g. `Themes/TextBlock.xaml`)\n- Do not mix a style with conflicting inline visual properties unless necessary. If you must override, use only existing Brush/Color resources — never hardcoded hex values\n- If a style already encodes colors, do not override them unless necessary for semantic meaning\n- ALWAYS use existing colors/brushes in resources to enhance user experience and guide attention\n- USE colors strategically to improve ergonomics, wayfinding, and task completion\n- Consider color as a tool for information architecture and user guidance\n- NEVER use hardcoded colors in hex format #AARRGGBB\n\n- **Theming:** Prefer **Material** if both Material and Fluent resources are present. See `.csproj` <UnoFeatures> for more info.\n- **Typography**: Use existing TextBlock styles only; do not set explicit font sizes or weights.\n- **Localization:** Generate `x:Uid` for visible/interactive elements using the pattern: `AppointmentPage.Label.PatientName` (adjust names per page/property).\n- **Accessibility:** Set meaningful `AutomationProperties.*` where it makes sense for inputs, buttons, and templated list items.\n- **Latency/Size:** Aim for concise markup that renders quickly\n\n</guidelines>\n\n<visual_assets>\n- ALWAYS Use the app's assets when relevant\n- If an asset is missing but can be replaced by an emoji, use the `FontIcon` control.\n</visual_assets>\n\n<data_binding_policy>\n- NEVER use `{Binding StringFormat=...}`\n- Binding from `bool` to `Visibility` is implicitly supported\n- NEVER use WPF-only features (e.g., `x:Static`, `{x:Reference}`, `x:Static`, `sys:Object`, `{x:Reference}`) in bindings\n- To concatenate strings you MUST use multiple `<Run Text=\"content\" />` with bindings\n- With MVUX/Reactive: ALWAYS using Bindings to bind the Command properties in XAML to the implicit `IAsyncCommand` that matches the public method name in the MVUX model.\n- NEVER use the code-behind to invoke commands or methods on the MVUX Model.\n- With MVVM: ALWAYS use Bindings to bind the Command properties in XAML to the public ICommand properties on the ViewModel.\n- NEVER use the code-behind (`.xaml.cs`) to invoke commands or methods on the ViewModel.\n- ALWAYS prefer using Bindings with the Mode as TwoWay for state updates instead of updating the properties in code-behind.\n</data_binding_policy>\n\n<app_navigation>\n- With Uno Navigation Extensions: ALWAYS prefer the XAML-based navigation attached properties (`Navigation.Request` or `Region.Attached` and `Region.Name`).\n- With Uno Navigation Extensions NEVER use the code-behind of the page (`.xaml.cs`) for invoking Navigation methods.\n</app_navigation>\n\n<commands_actions>\n- Use color coding to help users quickly identify action types and importance levels.\n- Button only-icons should ALWAYS use `ControlExtensions.Icon` when `UnoFeatures` toolkit is present, or an inner ImageIcon or FontIcon with fluent.\n- NEVER use `AppBarButton` outside an `AppBar` or `CommandBar`. Use regular `Button` with an icon if needed.\n- NEVER use `AppBarToggleButton` outside an `AppBar` or `CommandBar`. Use regular `ToggleSwitch` with an icon if needed.\n</commands_actions>\n\n<responsiveness_layout>\nYou are a UI layout designer.\nWhen creating application page layouts, you must follow these rules and map them to XAML. \n\n<General>\n- Use consistent design system → ResourceDictionary, StaticResource. \n- Focus user attention on task → Grid, StackPanel, Border. \n- Follow platform metaphors → NavigationView, CommandBar, Pivot, TabView.\n</General>\n\n<Spacing_Margins>\n\n- Always include margins; text never touches screen edge → Margin ≥16px. \n- Spacing in multiples of 4px/8px → Margin, Padding, Spacing. \n- Inner padding for surfaces with text/icons; images may be edge-to-edge → Padding.\n- ALWAYS consider HorizontalContentAlignment and VerticalContentAlignment when placing ContentControl based content.\n\n</Spacing_Margins>\n\n<Grid>\n\n- Content must align to grid → Grid.ColumnDefinitions, Grid.RowDefinitions. \n- Break grid sparingly → Grid.ColumnSpan. \n- Responsive breakpoints: \n- 0-149px → 1 col, 16px margin \n- 150-599px → 4 cols, 16px alleys \n- 600-904px → 8 cols, 16px alleys \n- 905-1280px → 12 cols, 20px alleys \n- ≥1281px → 12 cols, 24px alleys\n\n</Grid>\n\n<Gestalt>\n- Group by proximity/similarity → StackPanel, Grid. \n- Use borders/fills for common region → Border, Background. \n- Ensure page focal point → FontSize, FontWeight, accent Color.\n</Gestalt>\n\n<Typography>\n- Body text ≥16px → FontSize. \n- Baseline aligns to 4dp grid; line-height multiple of 4 → LineHeight. \n- Follow Uno Material type scale → Display, Headline, Title, Body, Label. \n- Avoid all caps except short labels → TextTransform.\n- Always wrap text that may overflow\n</Typography>\n\n<Accessibility>\n- Contrast: 4.5:1 body, 3:1 large text → check theme colors. \n- Touch targets ≥44x44px → MinWidth, MinHeight. \n- Preserve focus order & labels → TabIndex, AutomationProperties.*.\n</Accessibility>\n\n<Hierarchy_Heuristics>\n- Larger/full-span = higher importance → Grid.ColumnSpan, size. \n- Odd-number groupings for interest → StackPanel, ItemsRepeater. \n- Rounded/elliptical = focal point → CornerRadius, Ellipse.\n</Hierarchy_Heuristics>\n\n<Legibility>\n- Line length 45-72 chars (66 ideal), max 120 desktop → MaxWidth. \n- Serif for body, sans-serif for headlines → font family. \n- Line height ≈140% of font size, multiple of 4 → LineHeight. \n</Legibility>\n\n<images_and_icons>\n- Use `Image` for displaying images\n- ALWAYS use `Stretch=\"UniformToFill\"` for photographs and hero images\n- ALWAYS use `Stretch=\"Uniform\"` for small icons\n- ALWAYS Use VerticalAlignment=\"Center\" and HorizontalAlignment=\"Center\" for images\n- Use `ImageBrush` for image fills\n- If no images are available use https://picsum.photos to generate placeholder images\n- ALWAYS use `FlipView` when displaying a list of urls\n</images_and_icons>\n\n<Shape_Heuristics>\n- Thin strokes = detail, thick = boldness → BorderThickness. \n- Rectangles = structure, circles = comfort, triangles = direction → Shape. \n- Shapes group content → Border, Panel.\n</Shape_Heuristics>\n\n<Internal_Consistency>\n- Fallbacks for missing content (light grey fill) → PlaceholderText, default fills. \n- Component sizes in multiples of 4/8 → fixed Width, Height. \n</Internal_Consistency>\n\n<general_layout_rules>\n- Favor **`AutoLayout`** for layout flows when Uno Toolkit is present; use container `Padding`/`Spacing`. Prefer star sizing and alignment; avoid arbitrary percentages.\n- Apply consistent spacing scale: 4, 8, 12, 16, 24, 32, 48, 64.\n- NEVER use percentages for Width and Height.\n- Consider how layouts stack on smaller screens\n- NEVER set padding or margin on children; use `Spacing`/`Padding` on `AutoLayout`.\n- ALWAYS use the `Responsive` Markup Extension for responsive designs\n- Apply ThemeShadow to internal focal elements (images, avatars, primary CTAs) with Translation Z values in the 8-32 range; avoid adding outer container shadows if the card/control style already expresses elevation\n</general_layout_rules>\n\n<items_list>\nFor displaying items lists:\n\n- ItemsRepeater for lists fitting on screen\n- ListView/ItemsRepeater for large lists\n- For Selection/Action, on the list control:\n- With Uno.Toolkit: CommandExtensions, ItemsRepeaterExtensions\n- Without Uno.Toolkit: SelectionChanged\n- NEVER use buttons as the item template root\n</items_list>\n\n<generic_elevation>\nTo add a drop shadow to UI element you MUST set the Shadow property to ThemeShadow and adjust the Z value of `Translation`:\n\n```\n<Border Translation=\"0, 0, 32\">\n\t<Border.Shadow>\n\t\t<ThemeShadow />\n\t</Border.Shadow>\n\t<!-- some content -->\n</Border>\n```\n\n`ThemeShadow` is supported without restrictions cross-platform, and renders the same everywhere.\n</generic_elevation>\n\n</responsiveness_layout>\n\n<colors_selection>\n\n- ALWAYS refer to ColorPaletteOverride.xaml when available. Modify it to match your design.\n- Black text on white background is easier to process than White text on black background\n- Use color strategically to enhance comprehension and guide user attention\n- Apply semantic color meanings consistently (e.g., red for warnings, green for success)\n- Use color to create visual groupings and reduce cognitive load\n- Use accent colors to highlight primary actions and important information\n- Apply subtle background colors to create zones and improve scanability\n- Line's length depends on font size and screen size, but it should fall between 45-72 characters long, ideally 66, In areas with wider line lengths, such as desktop, longer lines that contain up to 120 characters will need an increased line height (e.g. from 20px to 24px)\n- Text should not spill off the screen except to denote extra content when scrolling \n- Serif fonts are generally faster and easier to read\n- All caps are slower to read and scan (because we don't encounter those shapes as often) it's also perceived as \"shouting\" or seeking attention\n- Pair a sans-serif font and a serif font in your design. One for body and another for Titles or headlines\n- In digital design fonts smaller than 16px should be avoided for blocks or text (or used for necessary information we want to de-emphasize like footer notes, legal text…)\n- Line height on most fonts should be set to 140% of their default when used as body text (remaining a multiple of 4) Setting it higher can give a luxurious feel to a layout setting it too wide will break the paragraph apart into seemingly unrelated lines or text. Packing it tighter than 100% will negatively impact legibility up to the point of making the text unreadable\n- Accessibility: Ensure color choices maintain proper contrast ratios while being visually engaging\n- Background tints to create subtle groupings and zones\n- Border colors to define sections and relationships\n- Icon and text colors to reinforce meaning and importance\n- Surface colors to create depth and layering\n</colors_selection>\n\n<typography>\n- Regardless of pt / sp size, a text's baseline must sit on the 4dp grid. Line-height must be a value divisible by 4 to maintain the grid.\n</typography>\n\n<reminders>\n- Let's read the ask step by step and understand each sentence again with the sentences after it. Then refer to the corresponding steps when answering.\n- You must use your tools to build, run and test the app after creating the sources.\n- You must use your tools to get the most recent information about Uno Platform when needed.\n</reminders>\n\n</uno_platform_development_rules>", "inputSchema": { "properties": {}, "type": "object" }, "name": "uno_platform_usage_rules_init", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a15b5c567e6a57460039fbf62b98ed6b76e33efba5f4beb95c124ed73c9e1270 | sha256sum