### List NuGet Packages in .NET Project Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-dependency/SKILL.md Demonstrates how to list NuGet packages installed in a .NET project using 'dotnet list package'. Examples cover listing direct dependencies, including transitive dependencies, specifying a project file, and formatting the output as JSON for programmatic use. ```bash # Direct dependencies only dotnet list package # Include transitive (indirect) dependencies dotnet list package --include-transitive # For a specific project dotnet list package --project path/to/Project.csproj # JSON output for scripting dotnet list package --format json ``` -------------------------------- ### Install Structured Plan Mode Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/README.md Commands to add and install the structured plan mode plugin from the marketplace. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-structured-plan-mode ``` -------------------------------- ### Install Context7 Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-context7/README.md This snippet shows the bash commands to install the Context7 plugin through the MCP marketplace. It involves adding the plugin repository and then installing the specific handbook-context7 plugin. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-context7 ``` -------------------------------- ### Install Handbook .NET Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/README.md Installs the Handbook .NET plugin from the marketplace. This enables .NET specific features like CSharpier formatting and dotnet-run-file. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-dotnet ``` -------------------------------- ### Install handbook-extras plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-extras/README.md Commands to add the plugin repository to the marketplace and install the handbook-extras package into the Claude Code environment. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-extras ``` -------------------------------- ### Install CSharp LSP Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-csharp-lsp/README.md Commands to add and install the handbook-csharp-lsp plugin via the marketplace. This enables the LSP integration for C# projects. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-csharp-lsp ``` -------------------------------- ### Install Handbook Sounds Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-sounds/README.md Installs the Handbook Sounds plugin for Claude Code using the plugin marketplace command. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-sounds ``` -------------------------------- ### Install Nano Banana Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-nano-banana/README.md Command to install the Nano Banana plugin using the claude CLI. ```bash claude plugins add cc-handbook/handbook-nano-banana ``` -------------------------------- ### Example Custom Sound Configurations (Bash) Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/component-reference/hooks/audio-feedback.mdx Provides examples of how to configure custom sound files for both stop and notification hooks, including using default Windows sounds and custom WAV files. ```bash # Subtle sounds export CC_HANDBOOK_STOP_SOUNDS_FILE="C:/Windows/Media/notify.wav" export CC_HANDBOOK_STOP_SOUNDS_FILE="C:/Windows/Media/Windows Notify System Generic.wav" # Attention-grabbing sounds export CC_HANDBOOK_NOTIFICATION_SOUNDS_FILE="C:/Windows/Media/Windows Exclamation.wav" export CC_HANDBOOK_NOTIFICATION_SOUNDS_FILE="C:/Windows/Media/Windows Ding.wav" export CC_HANDBOOK_NOTIFICATION_SOUNDS_FILE="C:/Windows/Media/chimes.wav" # Or use custom WAV files export CC_HANDBOOK_STOP_SOUNDS_FILE="C:/path/to/your/custom-stop.wav" export CC_HANDBOOK_NOTIFICATION_SOUNDS_FILE="C:/path/to/your/custom-notification.wav" ``` -------------------------------- ### Install and Verify CSharpier Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/component-reference/hooks/csharp-formatter.mdx Commands to install the CSharpier global tool and verify the current version. ```bash dotnet tool install -g csharpier dotnet csharpier --version ``` -------------------------------- ### Start Local Development Server with Yarn Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/README.md Starts a local development server for live previewing changes. Changes are reflected without server restarts. ```bash yarn start ``` -------------------------------- ### Deploy Dashboard (Full Example) Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/kibana-api.md Provides a comprehensive example of deploying a dashboard by generating NDJSON containing data view and dashboard objects, and then importing it via the Kibana API. ```APIDOC ## Deploy Dashboard (Full Example) ```bash # Generate NDJSON with data view + dashboard # NOTE: coreMigrationVersion + typeMigrationVersion are required for serverless cat > /tmp/dashboard.ndjson << 'EOF' {"type":"index-pattern","id":"my-logs","coreMigrationVersion":"8.8.0","attributes":{"title":"logs-*","timeFieldName":"@timestamp"}} {"type":"dashboard","id":"my-dashboard","coreMigrationVersion":"8.8.0","typeMigrationVersion":"10.3.0","attributes":{"title":"My Dashboard","timeRestore":true,"timeFrom":"now-24h","timeTo":"now","panelsJSON":"[{\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":8,\"i\":\"p1\"},\"panelIndex\":\"p1\",\"embeddableConfig\":{\"attributes\":{\"visualizationType\":\"lnsMetric\",\"title\":\"Total Docs\",\"state\":{\"filters\":[],\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"datasourceStates\":{\"formBased\":{\"layers\":{\"l1\":{\"columns\":{\"c1\":{\"operationType\":\"count\",\"label\":\"Count\",\"dataType\":\"number\",\"isBucketed\":false}},\"columnOrder\":[\"c1\"]}}}},\"visualization\":{\"layerId\":\"l1\",\"layerType\":\"data\",\"metricAccessor\":\"c1\"}},\"references\":[{\"type\":\"index-pattern\",\"id\":\"my-logs\",\"name\":\"indexpattern-datasource-layer-l1\"}]}}}]"},"references":[]} EOF # Import to Kibana curl -s -X POST "$KIBANA_URL/api/saved_objects/_import?overwrite=true" \ -H "Authorization: ApiKey $(printenv ES_API_KEY)" \ -H "kbn-xsrf: true" \ --form file=@/tmp/dashboard.ndjson | jq . ``` For complex dashboards with many panels, use a Python script to generate the NDJSON rather than hand-crafting the JSON strings. See the `panelsJSON` nesting: it's a JSON string containing an array of panel objects, each with deeply nested Lens state. Errors in this structure cause silent 500 errors on import. ``` -------------------------------- ### Install Claude Code Plugins Source: https://context7.com/nikiforovall/claude-code-rules/llms.txt Commands to add the marketplace repository and install specific plugins to extend Claude Code functionality. Requires the Claude CLI to be installed and configured. ```bash claude plugin marketplace add nikiforovall/claude-code-rules claude plugin install handbook@cc-handbook claude plugin install handbook-extras@cc-handbook claude plugin install handbook-dotnet@cc-handbook claude plugin install handbook-glab@cc-handbook claude plugin install handbook-elasticsearch@cc-handbook ``` -------------------------------- ### Install Dependencies with Yarn Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/README.md Installs project dependencies using the Yarn package manager. This is the first step before running any other commands. ```bash yarn ``` -------------------------------- ### Install Handbook Microsoft Docs Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-microsoft-docs/README.md Installs the Handbook Microsoft Docs plugin using the plugin marketplace. This enables access to the Microsoft Docs MCP server for documentation lookup. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-microsoft-docs ``` -------------------------------- ### Install GitLab CLI Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-glab/README.md Commands to install the GitLab CLI (glab) across various operating systems including macOS, Windows, and Linux. ```bash # macOS brew install glab # Windows (winget) winget install glab # Windows (scoop) scoop install glab # Linux # See: https://gitlab.com/gitlab-org/cli#installation ``` -------------------------------- ### Install csharp-ls Global Tool Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-csharp-lsp/README.md Installs the C# Language Server globally using the .NET CLI. This is a prerequisite for enabling LSP features in the development environment. ```bash dotnet tool install --global csharp-ls ``` -------------------------------- ### Install Git Worktree Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-git-worktree/README.md Commands to install the Git Worktree plugin from the plugin marketplace. This is a prerequisite for using the worktree management features. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-git-worktree ``` -------------------------------- ### Install Agent Spec Kit Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-agent-spec-kit/README.md These bash commands are used to install the Agent Spec Kit plugin from the marketplace. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook-agent-spec-kit ``` -------------------------------- ### Execute Implementation Task via CLI Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/component-reference/agents/implementation-agent.mdx Examples of how to invoke the @implementation-agent to perform specific tasks defined in a tasks.md file. ```text @implementation-agent implement task 2.1 from specs/auth-feature/tasks.md ``` ```text @implementation-agent execute task 3 for user authentication ``` -------------------------------- ### Usage Examples for Context7 MCP Server Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-context7/README.md These examples demonstrate how to interact with the Context7 MCP server using natural language prompts. The server is designed to fetch and provide the latest API documentation for specified libraries and frameworks like React hooks, TypeScript generics, and Next.js server components. ```natural language Use context7 to help me with React hooks ``` ```natural language Fetch the latest TypeScript documentation for generics ``` ```natural language Show me the current Next.js API for server components ``` -------------------------------- ### Activate Structured Plan Mode Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/README.md Example prompts to trigger the structured planning mode for complex feature requests. ```text "Use structured-plan-mode to implement real-time collaboration" "Plan the multi-tenant architecture feature" "Create a structured plan for the payment integration" ``` -------------------------------- ### Requirements Section Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Breaks down the work into concrete, actionable pieces, including detailed descriptions and code examples. This section ensures clarity on specific implementation details. ```markdown ### Requirements #### 1. [Requirement Category] [Detailed description with code examples] ``` -------------------------------- ### Real-World Example: Filtering `Theory` Tests for Order Processing Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-test/references/theory-parameter-filtering.md Demonstrates practical `dotnet test` filters for a `Theory` test class involving order processing. Includes examples for listing tests, filtering by specific order IDs, currencies, quantities, and excluding bulk orders. ```csharp public class OrderProcessingTests { [Theory] [MemberData(nameof(GetOrderData))] public void ProcessOrder_ShouldCalculate(string orderId, decimal amount, string currency, int quantity) { // Test implementation } public static TheoryData GetOrderData() { return new TheoryData { { "ORD-001", 100.50m, "USD", 1 }, { "ORD-002", 250.75m, "EUR", 3 }, { "ORD-BULK-001", 1000.00m, "USD", 10 } }; } } ``` ```bash # List all order test cases dotnet test --no-build --list-tests | grep ProcessOrder # Test specific order dotnet test --no-build --filter "DisplayName~ORD-001" # Test all USD orders dotnet test --no-build --filter "DisplayName~USD" # Test bulk orders only dotnet test --no-build --filter "DisplayName~BULK" # Test small orders (exclude bulk) dotnet test --no-build --filter "FullyQualifiedName~ProcessOrder&DisplayName!~BULK" # Test EUR orders or orders with quantity > 1 dotnet test --no-build --filter "DisplayName~EUR|DisplayName~quantity: 3|DisplayName~quantity: 10" ``` -------------------------------- ### Dependencies Section Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Makes blocking relationships explicit by listing internal and external dependencies. This helps in identifying and managing prerequisites. ```markdown ### Dependencies - [External dependency or blocking task] ``` -------------------------------- ### Context Section Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Provides background information on why a task exists and how it fits into the larger feature. It helps in understanding the motivation and dependencies. ```markdown ### Context [Why this task exists and how it fits into the larger feature] ``` -------------------------------- ### GitLab CLI API Interaction Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-glab/skills/glab-skill/references/quick-reference.md Examples of making GET and POST requests to the GitLab API using the `glab api` command. Demonstrates specifying the API endpoint and including data fields for POST requests. ```bash glab api projects/:id/merge_requests # GET request glab api --method POST projects/:id/issues \ --field title="Bug" # POST with data ``` -------------------------------- ### Directory Structure Setup Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Provides bash commands to set up the necessary directory structure for task planning, including creating a plan directory and a tasks subfolder. ```bash # Create plan directory and tasks subfolder mkdir -p .plans/[feature-name]/tasks # Copy plan template cp assets/plan-template.md .plans/[feature-name]/plan.md ``` -------------------------------- ### Making API Calls with Glab Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-glab/skills/glab-skill/references/commands-detailed.md Examples of making various HTTP requests (GET, POST, PUT, DELETE) to the GitLab API using the Glab CLI. Supports sending data, paginating results, and including response headers. ```bash # GET request glab api projects/:id/merge_requests # GET with specific project ID glab api projects/12345/merge_requests # POST request with data glab api --method POST projects/:id/issues --field title="Bug report" # POST with multiple fields glab api --method POST projects/:id/issues \ --field title="Bug" \ --field description="Description here" \ --field labels="bug,priority:high" # PUT request glab api --method PUT projects/:id/merge_requests/1 --field title="New Title" # DELETE request glab api --method DELETE projects/:id/issues/1 # Paginated API request (auto-fetches all pages) glab api --paginate projects/:id/issues # Pagination with query parameters (specify per_page in URL) glab api "projects/:id/issues?per_page=100" # Combine pagination flag with query parameters glab api --paginate "projects/:id/merge_requests?per_page=50&state=opened" # Manual pagination (specific page) glab api "projects/:id/issues?page=2&per_page=100" # Include response headers glab api --include projects/:id # Silent mode (no progress) glab api --silent projects/:id/merge_requests ``` -------------------------------- ### Initialize Task File from Template Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Demonstrates how to create a new task file by copying a predefined template into the project's task directory structure. This ensures consistency across all implementation tasks. ```bash cp [path-to-task-template.md] .plans/[feature-name]/tasks/T01.md ``` -------------------------------- ### Action Items Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Creates a checklist of specific, actionable tasks required for implementation. This section helps in tracking progress and ensuring all necessary steps are covered. ```markdown ### Action Items - [ ] [Specific, actionable task] - [ ] [Another task] ``` -------------------------------- ### Running .NET Tests with dotnet-test Source: https://context7.com/nikiforovall/claude-code-rules/llms.txt This section details how to run .NET tests using the `dotnet-test` command. It covers building the solution first, running specific project tests, and filtering tests by various criteria like method name, class name, namespace, traits, and Theory parameters. It also shows how to exclude tests and list tests without execution, as well as how to display ITestOutputHelper output. ```bash dotnet build -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal ``` ```bash dotnet test path/to/Tests.csproj --no-build --verbosity minimal ``` ```bash # By method name (recommended pattern) dotnet test --no-build --filter "FullyQualifiedName~MyTestMethod" ``` ```bash # By class name dotnet test --no-build --filter "FullyQualifiedName~UserServiceTests" ``` ```bash # By namespace pattern dotnet test --no-build --filter "FullyQualifiedName~MyApp.Tests.Unit" ``` ```bash # By xUnit Theory parameter value dotnet test --no-build --filter "DisplayName~admin_user" ``` ```bash # By trait category dotnet test --no-build --filter "Category=Integration" ``` ```bash # Exclude slow tests dotnet test --no-build --filter "Category!=Slow" ``` ```bash # Combined filters (AND/OR) dotnet test --no-build --filter "FullyQualifiedName~Create|FullyQualifiedName~Update" dotnet test --no-build --filter "FullyQualifiedName~OrderTests&DisplayName~USD" ``` ```bash # List tests without running dotnet test --no-build --list-tests ``` ```bash # Show ITestOutputHelper output dotnet test --no-build --logger "console;verbosity=detailed" ``` -------------------------------- ### Install CSharpier .NET Tool Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/README.md Installs the CSharpier .NET tool globally. This tool is used for automatic C# code formatting. ```bash dotnet tool install -g csharpier ``` -------------------------------- ### EARS Acceptance Criteria Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-agent-spec-kit/agents/requirements-agent.md Example of how to structure requirement acceptance criteria using the EARS syntax to ensure testability and clarity. ```markdown ### Requirement 3: User Authentication [R3] **User Story:** As a web application user, I want to securely log into my account using email and password, so that I can access my personal data and settings. #### Acceptance Criteria 1. WHEN a user enters valid email and password THEN the system SHALL authenticate the user and redirect to dashboard 2. WHEN a user enters invalid credentials THEN the system SHALL display an error message and remain on login page 3. IF a user fails authentication 5 times THEN the system SHALL temporarily lock the account for 15 minutes ``` -------------------------------- ### Manage .NET Tools with dotnet CLI Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-dependency/SKILL.md Illustrates how to manage .NET tools, including searching for available tools, updating local or global tools to their latest versions (including prereleases), and updating all local tools simultaneously using 'dotnet tool search' and 'dotnet tool update' commands. ```bash # Search for tools dotnet tool search dotnet-outdated --take 3 # Update a local tool (from manifest) dotnet tool update cake.tool # Update with prerelease dotnet tool update aspire.cli --prerelease # Update all local tools dotnet tool update --all # Update global tool dotnet tool update -g dotnet-ef ``` -------------------------------- ### Publish .NET Project for Dependency Resolution Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/ilspy-decompile/references/diagrammer.md Prepares the project by collecting all necessary dependencies into a single directory. This step is critical as the diagrammer requires all transitive dependencies to be resolvable. ```bash dotnet publish path/to/Project.csproj -o /tmp/ilspy-publish -p:WarningLevel=0 /clp:ErrorsOnly --verbosity minimal ``` -------------------------------- ### Framework Concept Explanation Command Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-extras/commands/explain.md This command generates an intermediate-level explanation of framework concepts, specifically React hooks in this example. The explanation is structured with progressive complexity, leveraging framework-specific context. ```bash /explain react-hooks --level intermediate --context react # Structured explanation with progressive complexity ``` -------------------------------- ### Install Unlisted Plugin with Claude CLI Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-discover/skills/handbook-discover/SKILL.md This command-line instruction is used to install a plugin that was identified as uninstalled during the discovery process. It requires the plugin name and the marketplace it belongs to. ```bash claude plugin install @cc-handbook ``` -------------------------------- ### Implement Pagination Strategies Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/search-api.md Covers basic pagination, search_after for deep scrolling, and consistent pagination using Point-in-Time (PIT). ```bash # Basic {"from": 0, "size": 20} # search_after { "size": 20, "sort": [{"@timestamp": "desc"}, {"_id": "asc"}], "search_after": ["2026-01-31T10:00:00.000Z", "doc-id-123"] } # PIT + search_after PIT=$(es "_pit" -d '{"index":"my-index","keep_alive":"5m"}' | jq -r '.id') es "_search" -d "{\"pit\":{\"id\":\"$PIT\",\"keep_alive\":\"5m\"},\"size\":100,\"sort\":[{\"@timestamp\":\"desc\"}]}" ``` -------------------------------- ### Basic Code Explanation Command Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-extras/commands/explain.md This command initiates a basic explanation of a JavaScript file, providing clear examples suitable for beginners. It utilizes an educator persona to structure the learning experience. ```bash /explain authentication.js --level basic # Clear explanation with practical examples for beginners # Educator persona provides learning-optimized structure ``` -------------------------------- ### Install Claude Code Rules Plugin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook/README.md Commands to add and install the handbook plugin into the Claude Code environment. These commands register the plugin from the marketplace and initialize the handbook features. ```bash /plugin marketplace add nikiforovall/claude-code-rules /plugin install handbook ``` -------------------------------- ### Basic Usage of @tasks-agent Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/component-reference/agents/tasks-agent.mdx Demonstrates how to invoke the agent to create an implementation plan based on a feature description or a specific design file. ```text @tasks-agent create implementation plan for user authentication @tasks-agent break down specs/auth-feature/design.md into tasks ``` -------------------------------- ### Verify glab Installation and PATH Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-glab/skills/glab-skill/references/troubleshooting.md Check if glab is installed and accessible in your system's PATH. If not found, this snippet provides commands to locate the glab executable and add its directory to your PATH environment variable, ensuring glab can be run from any terminal location. It also covers adding Go binary paths if glab was installed via Go. ```bash which glab find / -name glab 2>/dev/null export PATH="$PATH:/path/to/glab" export PATH="$PATH:$(go env GOPATH)/bin" ``` -------------------------------- ### Execute C# Files and Stdin Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-run-file/SKILL.md Demonstrates how to execute C# code using file-based execution or stdin piping. This is useful for quick scripts and AI-assisted workflows. ```bash dotnet run app.cs echo 'Console.WriteLine("Hello");' | dotnet run - dotnet run - << 'EOF' var now = DateTime.Now; Console.WriteLine($"Time: {now}"); EOF ``` -------------------------------- ### Elasticsearch Nested Aggregations Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/aggregations-api.md Demonstrates how to nest aggregations, allowing for multi-level analysis. This example groups by service, then by time, and calculates the 99th percentile duration within each time bucket. ```json { "size": 0, "aggs": { "by_service": { "terms": {"field": "service.name", "size": 10}, "aggs": { "over_time": { "date_histogram": {"field": "@timestamp", "fixed_interval": "1h"}, "aggs": { "p99": {"percentiles": {"field": "duration_ms", "percents": [99]}} } } } } } } ``` -------------------------------- ### Example Queries for Microsoft Docs MCP Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/component-reference/mcp-servers/microsoft-docs.mdx These are example natural language queries that can be sent to the Microsoft Docs MCP Server to retrieve information about .NET APIs, Azure services, and C# features. ```text "How do I use HttpClient in .NET 8?" "Show me Azure Key Vault integration for ASP.NET Core" "What's new in C# 12?" ``` -------------------------------- ### Run C# File Directly with dotnet-run-file Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/README.md Demonstrates various ways to execute C# files directly using the 'dotnet run file.cs' feature, including standard execution, piping input via stdin, using heredocs for multi-line input, and including NuGet packages. ```bash # Run a .cs file dotnet run app.cs ``` ```bash # One-liner via stdin (Claude Code friendly) echo 'Console.WriteLine("Hello");' | dotnet run - ``` ```bash # Multi-line with heredoc dotnet run - << 'EOF' var now = DateTime.Now; Console.WriteLine($"Time: {now}"); EOF ``` ```bash # With NuGet package dotnet run - << 'EOF' #:package Humanizer@* using Humanizer; Console.WriteLine(TimeSpan.FromMinutes(90).Humanize()); EOF ``` -------------------------------- ### Match All and Match None Queries (JSON) Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/query-dsl.md Provides examples for 'match_all' which returns all documents, and 'match_none' which returns no documents. These are useful for basic query construction or resetting query contexts. ```json { "query": { "match_all": {} } } ``` ```json { "query": { "match_none": {} } } ``` -------------------------------- ### Get Mapping Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/mapping-api.md Retrieve the mapping for an index or a specific field. ```APIDOC ## Get Mapping ### Description Retrieve the mapping for an entire index or for a specific field within an index. ### Method GET ### Endpoint `/{index}/_mapping` or `/{index}/_mapping/field/{field_name}` ### Example (Full mapping) ```bash es "my-index/_mapping" | jq '.[]|.mappings.properties' ``` ### Example (Specific field) ```bash es "my-index/_mapping/field/message" | jq . ``` ``` -------------------------------- ### List project references Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-dependency/SKILL.md Displays the project-to-project references for a specific .NET project file. This command helps verify the dependency graph of a solution. ```bash dotnet list reference --project path/to/Project.csproj ``` -------------------------------- ### Document Operations Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/SKILL.md Examples for updating, deleting, and performing bulk operations on documents. ```APIDOC ## POST /my-index/_update/doc-123 ### Description Updates a document partially in an index. ### Method POST ### Endpoint `${ES_URL%/}/my-index/_update/doc-123` ### Request Body - **doc** (object) - Required - The fields to update. - **level** (string) - Required - The new level for the document. ### Request Example ```json { "doc": { "level": "error" } } ``` ## DELETE /my-index/_doc/doc-123 ### Description Deletes a document from an index. ### Method DELETE ### Endpoint `${ES_URL%/}/my-index/_doc/doc-123` ## POST /_bulk ### Description Performs bulk operations (index, update, delete) on documents using newline-delimited JSON. ### Method POST ### Endpoint `${ES_URL%/}/_bulk` ### Request Body - **data** (binary) - Required - Newline-delimited JSON containing bulk operations. ### Request Example ```json {"index":{"_index":"my-index"}} {"message":"bulk doc 1","level":"info","@timestamp":"2026-01-31T12:00:00Z"} {"index":{"_index":"my-index"}} {"message":"bulk doc 2","level":"warn","@timestamp":"2026-01-31T12:01:00Z"} ``` ``` -------------------------------- ### GET /api/status Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/kibana-api.md Retrieves the current status and version information of the Kibana instance. ```APIDOC ## GET /api/status ### Description Checks the health and status of the Kibana service. ### Method GET ### Endpoint /api/status ### Response #### Success Response (200) - **name** (string) - Instance name - **status** (string) - Overall health status - **version** (string) - Kibana version number #### Response Example { "name": "kibana-instance", "status": "green", "version": "8.12.0" } ``` -------------------------------- ### Task File Directory Structure Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-structured-plan-mode/skills/structured-plan-mode/references/task-planning-guide.md Illustrates the recommended file system hierarchy for managing project plans and individual task documentation. ```text .plans/[feature-name]/ ├── plan.md # Main plan with Research and Progress Summary └── tasks/ ├── T01.md # First implementation task ├── T02.md # Second implementation task └── T0N.md # Nth implementation task ``` -------------------------------- ### Monorepo Structure Example Source: https://github.com/nikiforovall/claude-code-rules/blob/main/website/docs/fundamentals/use-claude-md.md Illustrates a monorepo structure with CLAUDE.md files at different levels, demonstrating how Claude Code loads memory files progressively. ```tree /workspace/ ├── CLAUDE.md # Workspace-level conventions ├── frontend/ │ ├── CLAUDE.md # Frontend-specific rules │ └── packages/ │ ├── ui/ │ │ └── CLAUDE.md # UI package conventions │ └── utils/ │ └── CLAUDE.md # Utils package conventions └── backend/ └── CLAUDE.md # Backend-specific rules ``` -------------------------------- ### Aggregations Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/SKILL.md Examples for performing aggregations on documents, including terms and date histogram aggregations. ```APIDOC ## POST /my-index/_search?size=0 ### Description Performs a terms aggregation to find the top values for a field. ### Method POST ### Endpoint `${ES_URL%/}/my-index/_search?size=0` ### Request Body - **aggs** (object) - Required - Defines the aggregation. - **levels** (object) - Required - Defines the terms aggregation. - **terms** (object) - Required - Specifies the field for terms aggregation. - **field** (string) - Required - The field to aggregate on (e.g., "level"). - **size** (integer) - Optional - The number of terms to return. ### Request Example ```json { "aggs": { "levels": { "terms": { "field": "level", "size": 10 } } } } ``` ## POST /my-index/_search?size=0 ### Description Performs a date histogram aggregation with a nested metric aggregation. ### Method POST ### Endpoint `${ES_URL%/}/my-index/_search?size=0` ### Query Parameters - **size** (integer) - Optional - Set to 0 to only return aggregation results. ### Request Body - **query** (object) - Optional - Defines the query to filter documents. - **range** (object) - Required for time-based aggregations - Defines a range query. - **@timestamp** (object) - Required - The timestamp field and range. - **gte** (string) - Required - Greater than or equal to (e.g., "now-24h"). - **aggs** (object) - Required - Defines the aggregations. - **over_time** (object) - Required - Defines the date histogram aggregation. - **date_histogram** (object) - Required - Specifies the date histogram settings. - **field** (string) - Required - The timestamp field (e.g., "@timestamp"). - **fixed_interval** (string) - Required - The interval for the histogram (e.g., "1h"). - **aggs** (object) - Required - Defines nested aggregations. - **avg_count** (object) - Required - Defines the average metric aggregation. - **avg** (object) - Required - Specifies the field for the average calculation. - **field** (string) - Required - The field to average (e.g., "count"). ### Request Example ```json { "query": { "range": { "@timestamp": { "gte": "now-24h" } } }, "aggs": { "over_time": { "date_histogram": { "field": "@timestamp", "fixed_interval": "1h" }, "aggs": { "avg_count": { "avg": { "field": "count" } } } } } } ``` ``` -------------------------------- ### Get Document API Source: https://github.com/nikiforovall/claude-code-rules/blob/main/plugins/handbook-elasticsearch/skills/elasticsearch/references/document-api.md Retrieve a document by its ID. Supports fetching specific fields. ```APIDOC ## Get Document ### Description Retrieves a document from the index using its unique ID. You can also specify which fields to return. ### Method GET ### Endpoint `//_doc/` ### Query Parameters - **_source** (string) - Optional - Comma-separated list of fields to include or exclude. Example: `_source=timestamp,message` or `_source='!private_field'` ### Request Example ```bash es "my-index/_doc/abc123" ``` ### Response Example ```json { "_index": "my-index", "_id": "abc123", "_version": 1, "_seq_no": 0, "primary_term": 1, "found": true, "_source": { "timestamp": "2026-02-01T12:00:00Z", "message": "Hello from Nox", "level": "info" } } ``` ``` -------------------------------- ### GitLab CLI (glab) Integration Source: https://context7.com/nikiforovall/claude-code-rules/llms.txt This section provides guidance on using the GitLab CLI (`glab`) for managing GitLab resources from the command line. It covers authentication methods, creating merge requests with various options (title, description, reviewer, labels), listing merge requests awaiting review, checking out merge requests locally, approving merge requests, and adding notes to merge requests. ```bash # Authentication glAB auth login # Interactive authentication glAB auth status # Check authentication status export GITLAB_TOKEN=your-token # Environment variable auth ``` ```bash # Create merge request git push -u origin feature-branch glAB mr create --title "Add feature" --description "Implements X" glAB mr create --title "Fix bug" --reviewer=alice,bob --label="bug,urgent" ``` ```bash # Review merge requests glAB mr list --reviewer=@me # MRs awaiting your review glAB mr checkout 123 # Checkout MR locally to test glAB mr approve 123 # Approve MR glAB mr note 123 -m "Please update tests" # Add comment ```