跳转到主要内容
此内容尚未提供您的语言版本,正在以英文显示。

Test Shiny App

技能 已验证 活跃

Test Shiny applications using shinytest2 for end-to-end browser tests and testServer() for unit-testing module server logic. Covers snapshot testing, CI integration, and mocking external services. Use when adding tests to an existing Shiny application, setting up a testing strategy for a new Shiny project, writing regression tests before refactoring Shiny code, or integrating Shiny app tests into CI/CD pipelines.

目的

To enable robust testing of Shiny applications, ensuring code quality, facilitating refactoring, and integrating tests into CI/CD pipelines.

功能

  • End-to-end browser testing with shinytest2
  • Unit testing of module server logic with testServer()
  • Snapshot testing for regression detection
  • CI integration guidance for GitHub Actions
  • Mocking external services

使用场景

  • Adding tests to an existing Shiny application
  • Setting up a testing strategy for a new Shiny project
  • Writing regression tests before refactoring Shiny code
  • Integrating Shiny app tests into CI/CD pipelines

非目标

  • Performing the actual Shiny application development
  • Providing a general-purpose R testing framework
  • Covering deployment or hosting strategies for Shiny apps

安装

/plugin install agent-almanac@pjt222-agent-almanac

质量评分

已验证
98 /100
about 19 hours ago 分析

信任信号

最近提交1 day ago
星标14
许可证MIT
状态
查看源代码

类似扩展

Run Puzzle Tests

100

Run the jigsawR test suite via WSL R execution. Supports full suite, filtered by pattern, or single file. Interprets pass/fail/skip counts and identifies failing tests. Never uses --vanilla flag (renv needs .Rprofile for activation). Use after modifying any R source code, after adding a new puzzle type or feature, before committing changes to verify nothing is broken, or when debugging a specific test failure.

技能
pjt222

Build Shiny Module

100

Build reusable Shiny modules with proper namespace isolation using NS(). Covers module UI/server pairs, reactive return values, inter-module communication, and nested module composition. Use when extracting a reusable component from a growing Shiny app, building a UI widget used in multiple places, encapsulating complex reactive logic behind a clean interface, or composing larger applications from smaller, testable units.

技能
pjt222

Scaffold Shiny App

99

Scaffold a new Shiny application using golem (production R package), rhino (enterprise), or vanilla (quick prototype) structure. Covers framework selection, project initialization, and first module creation. Use when starting a new interactive web application in R, creating a dashboard or data explorer prototype, setting up a production Shiny app as an R package with golem, or bootstrapping an enterprise Shiny project with rhino.

技能
pjt222

Create Spatial Visualization

100

Create interactive maps, elevation profiles, and spatial visualizations from GPX tracks, waypoints, or route data using R (sf, leaflet, tmap) or Observable (D3, deck.gl). Covers data import, coordinate system handling, map styling, and export to HTML or image formats. Use when visualizing a planned or completed tour route on an interactive map, creating elevation profiles for hiking or cycling routes, overlaying waypoints and POIs on a basemap, or building a web-based trip dashboard.

技能
pjt222

Containerize MCP Server

100

Containerize an R-based MCP (Model Context Protocol) server using Docker. Covers mcptools integration, port exposure, stdio vs HTTP transport, and connecting Claude Code to the containerized server. Use when deploying an R MCP server without requiring a local R installation, creating a reproducible MCP server environment, running MCP servers alongside other containerized services, or distributing an MCP server to other developers.

技能
pjt222

Build Custom Mcp Server

100

Build a custom MCP (Model Context Protocol) server that exposes domain-specific tools to AI assistants. Covers server implementation in Node.js or R, tool definitions, transport configuration, and testing with Claude Code. Use when you need to expose custom functionality beyond what mcptools provides, when building specialized domain-specific AI integrations, or when wrapping existing APIs or services as MCP tools.

技能
pjt222