chore: Update packages and settings#1793
Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR upgrades multiple GitHub Actions versions across workflows (notably actions/checkout v5→v6, ruby/setup-ruby, upload-artifact, and gha-find-replace), adjusts workflow formatting and a few step inputs, updates VS Code workspace files (.vscode/mcp.json, .vscode/settings.json, .vscode/tasks.json) with restructured task definitions and MCP entries, bumps several package versions (Skender.Stock.Indicators, Roslynator.Analyzers, BenchmarkDotNet), refines NoWarn suppressions in build props, and removes a post-clean restore from tools/scripts/clean.sh. Possibly related PRs
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
.vscode/tasks.json (2)
388-397: Broken task reference:Lint: .NET code & markdown filesdoes not exist.The dependency references a task label that doesn't exist in this file. Based on the naming pattern, this should likely be
Lint: All.🔎 Proposed fix
{ "label": "Verify: Quick checks (build + lint + unit test)", "detail": "Complete CI verification: build, lint, and test", "group": "test", "dependsOn": [ "Build: .NET Solution (incremental)", - "Lint: .NET code & markdown files", + "Lint: All", "Test: Unit tests" ], "dependsOrder": "sequence" },
58-70: Broken task reference:Lint: .NET code & markdown files (fix)does not exist.Similar to the other task, this references a non-existent label. It should likely be
Lint: All (fix).🔎 Proposed fix
{ "label": "Initialize: Pull, rebuild, fixers, and unit test", "detail": "Pull latest, clean, rebuild non-incremental, fix all, and test", "group": "build", "dependsOn": [ "Git: pull", "Clean: .NET Solution (dotnet clean)", "Build: .NET Solution (not incremental)", - "Lint: .NET code & markdown files (fix)", + "Lint: All (fix)", "Test: Unit tests" ], "dependsOrder": "sequence" },
♻️ Duplicate comments (2)
.github/workflows/deploy-package.yml (2)
60-60: Verify actions/checkout@v6 compatibility (same as test-indicators.yml).Same major version upgrade from v5 to v6. Please apply the same verification from the previous file's review comment.
Also applies to: 142-142
230-230: Verify actions/upload-artifact@v6 compatibility (same as test-indicators.yml).Same major version upgrade from v4 to v6. Please apply the same verification from the previous file's review comment.
🧹 Nitpick comments (2)
.vscode/tasks.json (1)
226-247: Consider parameterizing the target framework version.The Roslynator tasks are well-structured. The hardcoded
net10.0works for now but will need updates as .NET versions evolve.You could add a
roslynatorFrameworkinput or use a workspace variable to avoid future manual updates:{ "id": "targetFramework", "description": "Target framework for Roslynator", "default": "net10.0", "type": "promptString" }.github/workflows/deploy-package.yml (1)
194-198: Add a comment identifying the version for the commit SHA.Using a commit hash for pinned third-party actions is a security best practice for CI/CD pipelines, ensuring absolute immutability and reproducibility. However, add a comment showing the corresponding version (likely v3.0.5 or similar) to improve readability and maintainability, allowing developers to quickly understand which version is in use without needing to look up the commit externally.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
docs/examples/Skender.Stock.Indicators-Examples.zipis excluded by!**/*.zipand included by**
📒 Files selected for processing (23)
.github/workflows/copilot-setup-steps.yml.github/workflows/deploy-package.yml.github/workflows/deploy-website.yml.github/workflows/lock-issues-pr.yml.github/workflows/test-examples.yml.github/workflows/test-indicators-matrix.yml.github/workflows/test-indicators.yml.github/workflows/test-performance.yml.github/workflows/test-website-a11y.yml.github/workflows/test-website-links.yml.vscode/mcp.json.vscode/settings.json.vscode/tasks.jsondocs/examples/Backtest/Backtest.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/UseQuoteApi/UseQuoteApi.csprojsrc/Directory.Packages.propstests/Directory.Packages.propstools/Directory.Build.propstools/Directory.Packages.propstools/scripts/clean.sh
💤 Files with no reviewable changes (1)
- tools/scripts/clean.sh
🧰 Additional context used
📓 Path-based instructions (7)
docs/**
📄 CodeRabbit inference engine (.github/instructions/docs.instructions.md)
Build Jekyll documentation without errors before committing changes
Use docs.instructions.md for documentation website (Jekyll) development in
docs/**files
Files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
**/*.csproj
📄 CodeRabbit inference engine (.github/instructions/codacy.instructions.md)
IMMEDIATELY after adding or modifying dependencies in .csproj files or other package managers, run
codacy_cli_analyzewith rootPath set to the workspace path and tool set to 'trivy'Keep
.csprojmetadata accurate and up-to-date
Files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
**/*.{csproj,props,targets,sln}
⚙️ CodeRabbit configuration file
**/*.{csproj,props,targets,sln}: Verify:
- Version consistency: Package versions, target frameworks alignment
- Security: No vulnerable packages, proper security settings
- Performance: Compiler optimizations enabled for release builds
- Analyzers: Code quality rules properly configured
- Packaging: NuGet metadata complete and accurate
Files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojsrc/Directory.Packages.propstests/Directory.Packages.propstools/Directory.Build.propstools/Directory.Packages.propsdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
.github/**/*.yml
⚙️ CodeRabbit configuration file
.github/**/*.yml: Review for:
- Security: No secrets in workflows, proper permissions
- Efficiency: Optimize CI/CD performance, avoid redundant builds
- Dependencies: Keep actions and versions current
- Error handling: Proper failure scenarios and notifications
Files:
.github/workflows/copilot-setup-steps.yml.github/workflows/test-indicators.yml.github/workflows/test-website-a11y.yml.github/workflows/test-performance.yml.github/workflows/test-indicators-matrix.yml.github/workflows/deploy-website.yml.github/workflows/deploy-package.yml.github/workflows/test-examples.yml.github/workflows/lock-issues-pr.yml.github/workflows/test-website-links.yml
{src,tests}/**
📄 CodeRabbit inference engine (.github/instructions/code-completion.instructions.md)
Remove scratch files (.bak, .new, .debug.*), empty directories, and TODO-style notes resolved during development
Files:
src/Directory.Packages.propstests/Directory.Packages.props
src/**
📄 CodeRabbit inference engine (.github/instructions/dotnet.instructions.md)
Follow the
.editorconfigconfiguration for consistent formatting (4-space indentation for C#, 2-space for other files)
Files:
src/Directory.Packages.props
{.markdownlint-cli2.jsonc,.editorconfig,.vscode/settings.json}
📄 CodeRabbit inference engine (.github/instructions/markdown.instructions.md)
Keep
.markdownlint-cli2.jsonc,.editorconfig, and.vscode/settings.jsonaligned.
Files:
.vscode/settings.json
🧠 Learnings (54)
📓 Common learnings
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/codacy.instructions.md:0-0
Timestamp: 2025-12-08T14:56:58.790Z
Learning: When using Codacy tools that accept provider, organization, or repository arguments, set provider to 'gh', organization to 'DaveSkender', and repository to 'Stock.Indicators'
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/performance-testing.instructions.md:0-0
Timestamp: 2025-12-07T23:55:53.665Z
Learning: Applies to tools/performance/**/*.yml : GitHub Actions workflow for performance tests must run on pushes to main/version branches and PR changes to performance tests, build in Release configuration, execute full benchmark suite, upload artifacts, and publish GitHub Actions summaries
Learnt from: DaveSkender
Repo: DaveSkender/Stock.Indicators PR: 1734
File: .github/workflows/test-indicators-matrix.yml:38-51
Timestamp: 2025-11-12T00:30:31.400Z
Learning: In .github/workflows/test-indicators-matrix.yml, the workflow always requires .NET 10 to build and run test projects. The "legacy sut" .NET SDK installation (e.g., 6.0.x) is only for multi-targeting support, and the TARGET_FRAMEWORK environment variable controls which framework version tests actually run against using the `--property:TestFramework` parameter.
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/**/{src/Indicators,tests/indicators}/**/*.{cs,xlsx,csv} : Formula changes require explicit user authorization with source citations, updated reference calculations in tests/indicators/ matching the new formula, update to project principles if changing sourcing hierarchy, and MAJOR version bump per semantic versioning
Applied to files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csproj.github/workflows/test-indicators.ymltests/Directory.Packages.props.github/workflows/test-indicators-matrix.ymldocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-09-02T02:01:48.007Z
Learnt from: DaveSkender
Repo: DaveSkender/Stock.Indicators PR: 1384
File: tests/indicators/s-z/Tsi/Tsi.Tests.cs:14-14
Timestamp: 2025-09-02T02:01:48.007Z
Learning: The Stock.Indicators repository uses centralized package management via tests\Directory.Packages.props to define MSTest package versions across all test projects, currently using MSTest.TestAdapter and MSTest.TestFramework version 3.10.3.
Applied to files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojtests/Directory.Packages.propstools/Directory.Packages.propsdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Applies to src/**/*.cs : Use the single namespace `Skender.Stock.Indicators` declared as file-scoped namespace with modern C# syntax
Applied to files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Applies to docs/_indicators/**/*.md : Update `docs/_indicators/{Indicator}.md` when indicator APIs change
Applied to files:
docs/examples/UseQuoteApi/UseQuoteApi.csprojdocs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:54:32.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/indicator-buffer.instructions.md:0-0
Timestamp: 2025-12-24T07:54:32.747Z
Learning: Complete regression, performance, docs, and migration requirements per `.github/copilot-instructions.md` (Common indicator requirements)
Applied to files:
.github/workflows/copilot-setup-steps.yml
📚 Learning: 2025-12-08T10:38:10.035Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/docs.instructions.md:0-0
Timestamp: 2025-12-08T10:38:10.035Z
Learning: Applies to docs/_indicators/** : Keep indicator documentation current with library changes
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Update the matching `docs/_indicators/<Indicator>.md` file whenever an indicator changes, keeping primary public API examples, parameter details, warmup guidance, and outputs in sync
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/ConsoleApp/ConsoleApp.csproj
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/Indicators/**/*.cs : Refactor code for performance while preserving mathematical formula correctness - changes to code structure are allowed if they produce identical mathematical results validated by existing tests
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to src/Obsolete.V3.*.cs : Update migration bridges in `src/Obsolete.V3.Indicators.cs` and `src/Obsolete.V3.Other.cs` to reflect new/renamed APIs or deprecations
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/ConsoleApp/ConsoleApp.csproj
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/**/{src/Indicators,tests}/**/*.cs : Before implementing any changes to indicator code, verify: change does not modify mathematical formulas (unless explicitly authorized), change preserves bit-for-bit parity with Series baseline (for streaming), change does not alter default parameter values, all existing tests pass without modification to expected values, manual calculation spreadsheets remain valid, changes comply with Project Principles §1, changes follow style-specific guidelines (Series, Stream, Buffer)
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/Backtest/Backtest.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to src/**/*.Catalog.cs : Use catalog.instructions.md conventions for indicator catalog entries in `**/src/**/*.Catalog.cs` and `**/tests/**/*.Catalog.Tests.cs`
Applied to files:
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csprojdocs/examples/ConsoleApp/ConsoleApp.csproj
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/Indicators/**/*.cs : AI agents MAY modify: code structure and organization (refactoring), performance optimizations that preserve mathematical correctness, error handling and input validation, documentation and comments, test coverage and test data, variable naming and code style
Applied to files:
docs/examples/Backtest/Backtest.csproj.vscode/settings.jsondocs/examples/ConsoleApp/ConsoleApp.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/**/{src/Indicators,tests/indicators}/**/*.cs : AI agents MUST NOT modify: mathematical formulas or calculation sequences, coefficients/smoothing factors/magic numbers, warmup period calculations, default parameter values affecting calculations, reference test data or expected results
Applied to files:
docs/examples/Backtest/Backtest.csprojdocs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to tests/indicators/**/*.cs : Add comprehensive unit tests with manual calculations for each new indicator
Applied to files:
docs/examples/Backtest/Backtest.csproj
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to tests/**/*.cs : Add regression tests to `tests/indicators/**/{IndicatorName}.Regression.Tests.cs` for each indicator type
Applied to files:
docs/examples/Backtest/Backtest.csproj.vscode/tasks.json
📚 Learning: 2025-11-12T00:30:31.400Z
Learnt from: DaveSkender
Repo: DaveSkender/Stock.Indicators PR: 1734
File: .github/workflows/test-indicators-matrix.yml:38-51
Timestamp: 2025-11-12T00:30:31.400Z
Learning: In .github/workflows/test-indicators-matrix.yml, the workflow always requires .NET 10 to build and run test projects. The "legacy sut" .NET SDK installation (e.g., 6.0.x) is only for multi-targeting support, and the TARGET_FRAMEWORK environment variable controls which framework version tests actually run against using the `--property:TestFramework` parameter.
Applied to files:
.github/workflows/test-indicators.ymltests/Directory.Packages.props.github/workflows/test-indicators-matrix.yml.github/workflows/test-examples.yml.vscode/tasks.jsontools/Directory.Packages.props
📚 Learning: 2025-10-01T07:32:55.702Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/performance-testing.instructions.md:0-0
Timestamp: 2025-10-01T07:32:55.702Z
Learning: Applies to .github/workflows/test-performance.yml : The test-performance.yml workflow should build in Release, run the full benchmark suite, upload artifacts, publish summaries, and optionally run the regression detection step
Applied to files:
.github/workflows/test-indicators.yml.github/workflows/test-website-a11y.yml.github/workflows/test-performance.yml.github/workflows/test-indicators-matrix.yml.github/workflows/deploy-package.yml.github/workflows/test-examples.yml.vscode/tasks.json.github/workflows/test-website-links.yml
📚 Learning: 2025-12-07T23:55:53.665Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/performance-testing.instructions.md:0-0
Timestamp: 2025-12-07T23:55:53.665Z
Learning: Applies to tools/performance/**/*.yml : GitHub Actions workflow for performance tests must run on pushes to main/version branches and PR changes to performance tests, build in Release configuration, execute full benchmark suite, upload artifacts, and publish GitHub Actions summaries
Applied to files:
.github/workflows/test-indicators.yml.github/workflows/test-website-a11y.yml.github/workflows/test-performance.yml.github/workflows/test-indicators-matrix.yml.github/workflows/test-website-links.yml
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to {src,tests}/**/*.cs : Run `dotnet format` to auto-correct stylistic issues and verify with `dotnet format --verify-no-changes` before committing
Applied to files:
.github/workflows/test-indicators.yml.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Run unit tests via `dotnet test` and collect code coverage, maintaining above 98% project coverage
Applied to files:
.github/workflows/test-indicators.ymltests/Directory.Packages.props.vscode/tasks.jsontools/Directory.Packages.props
📚 Learning: 2025-12-08T14:56:58.790Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/codacy.instructions.md:0-0
Timestamp: 2025-12-08T14:56:58.790Z
Learning: If the Codacy CLI is not installed, use `npx codacy/codacy-mcp` to invoke it directly
Applied to files:
.vscode/mcp.json
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Applies to **/*.csproj : Keep `.csproj` metadata accurate and up-to-date
Applied to files:
src/Directory.Packages.propstests/Directory.Packages.propstools/Directory.Build.propstools/Directory.Packages.props
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to src/**/*.cs : Keep analyzer warnings clean; treat warnings as build failures in multi-targeted builds (net10.0, net9.0, net8.0)
Applied to files:
src/Directory.Packages.propstools/Directory.Build.props
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Run `dotnet restore` to restore NuGet packages before building .NET projects
Applied to files:
src/Directory.Packages.props.vscode/tasks.json
📚 Learning: 2025-12-24T06:36:26.550Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: tests/agents.md:0-0
Timestamp: 2025-12-24T06:36:26.550Z
Learning: Applies to tests/**/tests/**/*.{cs} : Preserve MSTest attributes: `[TestClass]` on classes and `[TestMethod]` on test methods.
Applied to files:
tests/Directory.Packages.propstools/Directory.Build.props
📚 Learning: 2025-12-24T07:54:08.838Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.838Z
Learning: Applies to src/**/*.cs : Use `#pragma` directives sparingly for suppressing warnings and document justifications
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Execute `dotnet build` and resolve every warning without introducing suppressions unless documented and approved
Applied to files:
tools/Directory.Build.props.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to {src,tests}/**/*.cs : Delete obsolete or commented-out code, unused imports, variables, helper methods, and temporary scripts in .NET projects
Applied to files:
tools/Directory.Build.props.vscode/tasks.json
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Treat all warnings as errors - ensure solution builds with zero warnings
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to src/**/*.cs : Ensure XML documentation completeness and clarity for all public APIs in indicators
Applied to files:
tools/Directory.Build.propsdocs/examples/ConsoleApp/ConsoleApp.csproj
📚 Learning: 2025-12-24T06:36:26.550Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: tests/agents.md:0-0
Timestamp: 2025-12-24T06:36:26.550Z
Learning: Applies to tests/**/tests/**/*.{cs} : Use underscores (`_`) between each part of test method names. Never use spaces or hyphens. This convention is supported by analyzer suppression for CA1707.
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T06:36:26.550Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: tests/agents.md:0-0
Timestamp: 2025-12-24T06:36:26.550Z
Learning: Applies to tests/**/tests/**/*.{cs} : Do not add BDD-style prefixes like `Should`, `Given`, `When`, or other BDD variants to test method names unless explicitly allowed by the project.
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T06:36:26.550Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: tests/agents.md:0-0
Timestamp: 2025-12-24T06:36:26.550Z
Learning: Applies to tests/**/tests/**/*.{cs} : AI coding agents must follow the `MethodName_StateUnderTest_ExpectedBehavior` naming format, preserve MSTest attributes, use FluentAssertions exclusively, apply exact comparisons for indicator results, inherit from appropriate test base classes, and use standard test data methods.
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to src/**/*.cs : Ensure all public methods have complete XML documentation comments
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Applies to src/**/*.cs : Keep XML comments concise and technical
Applied to files:
tools/Directory.Build.props
📚 Learning: 2025-12-08T14:56:58.790Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/codacy.instructions.md:0-0
Timestamp: 2025-12-08T14:56:58.790Z
Learning: Applies to **/*.csproj : IMMEDIATELY after adding or modifying dependencies in .csproj files or other package managers, run `codacy_cli_analyze` with rootPath set to the workspace path and tool set to 'trivy'
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Configure optional git pre-commit hooks to run `dotnet format`, `dotnet build`, and `dotnet test`
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Ensure `dotnet test --no-restore` passes before submitting pull requests
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to {src,tests}/** : Remove scratch files (.bak, .new, .debug.*), empty directories, and TODO-style notes resolved during development
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to **/*.md : Run `npx markdownlint-cli2 --fix` and resolve all markdown linting warnings before finalizing documentation changes
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to src/**/*.cs : Use code-completion.instructions.md for testing, formatting, linting, and pre-commit checklist in `src/**` and `tests/**`
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-08T10:38:10.035Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/docs.instructions.md:0-0
Timestamp: 2025-12-08T10:38:10.035Z
Learning: Applies to docs/**/*.md : Follow markdown linting rules in the `.github/instructions/markdown.instructions.md` file
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-08T10:39:16.065Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/markdown.instructions.md:0-0
Timestamp: 2025-12-08T10:39:16.065Z
Learning: Applies to **/*.md,.markdownlint-cli2.jsonc : Run `npx markdownlint-cli2 --no-globs {glob} --fix` before opening a pull request, then verify with `npx markdownlint-cli2 --no-globs {glob}`. Always use `--no-globs` when specifying explicit file paths.
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-08T10:39:16.065Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/markdown.instructions.md:0-0
Timestamp: 2025-12-08T10:39:16.065Z
Learning: Applies to {.markdownlint-cli2.jsonc,.editorconfig,.vscode/settings.json} : Keep `.markdownlint-cli2.jsonc`, `.editorconfig`, and `.vscode/settings.json` aligned.
Applied to files:
.vscode/tasks.json.vscode/settings.json
📚 Learning: 2025-12-08T10:38:10.035Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/docs.instructions.md:0-0
Timestamp: 2025-12-08T10:38:10.035Z
Learning: Applies to docs/** : Build Jekyll documentation without errors before committing changes
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Run performance tests when applicable via `cd tools/performance && dotnet run -c Release`
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-08T10:38:10.035Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/docs.instructions.md:0-0
Timestamp: 2025-12-08T10:38:10.035Z
Learning: Run local Jekyll development with `bundle install` and `bundle exec jekyll serve --livereload` for testing
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to docs/** : Use docs.instructions.md for documentation website (Jekyll) development in `docs/**` files
Applied to files:
.vscode/tasks.json
📚 Learning: 2025-12-24T07:53:10.028Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/code-completion.instructions.md:0-0
Timestamp: 2025-12-24T07:53:10.028Z
Learning: Applies to tools/performance/**/*.cs : Include performance benchmarks for computationally intensive indicators
Applied to files:
tools/Directory.Packages.props
📚 Learning: 2025-12-24T07:54:08.839Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/dotnet.instructions.md:0-0
Timestamp: 2025-12-24T07:54:08.839Z
Learning: Applies to src/**/*.csproj : Support target frameworks: `net10.0`, `net9.0`, `net8.0` (both must build)
Applied to files:
tools/Directory.Packages.props
📚 Learning: 2025-10-01T07:32:55.702Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/instructions/performance-testing.instructions.md:0-0
Timestamp: 2025-10-01T07:32:55.702Z
Learning: Applies to tests/performance/**/BenchmarkConfig.cs : Keep BenchmarkConfig.cs as the single source of benchmark configuration (exporters: GitHub markdown and JSON; columns: Mean, Error, StdDev; logger: Console) and do not modify without maintainer approval
Applied to files:
tools/Directory.Packages.props
📚 Learning: 2025-12-24T07:52:36.747Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-12-24T07:52:36.747Z
Learning: Applies to tools/performance/** : Use performance-testing.instructions.md guidelines for Performance testing and BenchmarkDotNet in `tools/performance/**`
Applied to files:
tools/Directory.Packages.props
📚 Learning: 2025-12-24T07:55:21.510Z
Learnt from: CR
Repo: DaveSkender/Stock.Indicators PR: 0
File: src/agents.md:0-0
Timestamp: 2025-12-24T07:55:21.510Z
Learning: Applies to src/Indicators/**/*.cs : NEVER modify existing indicator formulas without explicit authorization - do not change mathematical formulas in existing indicators, alter coefficients/constants/smoothing factors, modify calculation sequences/dependencies, or apply formulas from unverified sources (TradingView, random websites, uncited calculators)
Applied to files:
docs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
⏰ Context from checks skipped due to timeout of 400000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (27)
.vscode/settings.json (1)
5-6: These VSCode settings are valid and documented; no action needed.Both
chat.useNestedAgentsMdFilesandchat.customAgentInSubagent.enabledare officially documented experimental features in VS Code's Copilot chat settings. They are properly configured and require no changes..vscode/mcp.json (3)
6-9: LGTM! Improved readability.The multi-line formatting of the
argsarrays for cloudflare and context7 servers improves consistency and readability across the configuration file.Also applies to: 25-28
11-20: Configuration is correct. The package name@codacy/codacy-mcpis the official scoped package per Codacy's documentation. The args["-y", "@codacy/codacy-mcp@latest"]properly specify the latest version.
37-40: Configuration looks good—@playwright/mcp@latestis the official and recommended way to invoke the Playwright MCP server.docs/examples/UseQuoteApi/UseQuoteApi.csproj (1)
11-11: LGTM - consistent version update.The package version bump aligns with other example projects in this PR.
docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj (1)
10-10: LGTM - consistent version update.The package version bump aligns with other example projects in this PR.
docs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj (1)
9-9: LGTM - consistent version update.The package version bump aligns with other example projects in this PR.
src/Directory.Packages.props (1)
11-11: LGTM - consistent analyzer update.The Roslynator.Analyzers version bump is consistent with the update in tests/Directory.Packages.props. Verification requested in that file applies here as well.
docs/examples/ConsoleApp/ConsoleApp.csproj (1)
10-10: LGTM - consistent version update.The package version bump aligns with other example projects in this PR.
tools/Directory.Build.props (1)
5-8: Good documentation improvement.The revised comments clearly explain each warning suppression and reference the relevant guidelines (tests/agents.md for CA1707). This improves maintainability without changing functionality.
docs/examples/Backtest/Backtest.csproj (1)
10-10: Version bump to 2.7.1 is verified and consistent.Skender.Stock.Indicators 2.7.1 exists on NuGet and is consistently applied across all five example projects (Backtest, ConsoleApp, CustomIndicatorsLibrary, CustomIndicatorsUsage, UseQuoteApi).
tests/Directory.Packages.props (1)
18-18: Roslynator.Analyzers 4.15.0 is verified as safe—the version exists on NuGet with no known vulnerabilities.tools/Directory.Packages.props (2)
12-12: Roslynator.Analyzers 4.15.0 is the latest stable version and is correctly applied across all Directory.Packages.props files.Version 4.15.0 is confirmed as the current release on NuGet and is consistently applied in
src/Directory.Packages.props,tests/Directory.Packages.props, andtools/Directory.Packages.props. Verify no new analyzer rules introduce warnings during the local build before merging.
11-11: BenchmarkDotNet 0.15.8 is the latest stable version with no security vulnerabilities.The patch-level update from 0.15.4 to 0.15.8 (released November 30, 2025) is current and includes no known CVEs or security advisories. This update is appropriate for the performance testing tooling.
.vscode/tasks.json (9)
8-29: LGTM!The new Roslynator input definitions are well-structured with appropriate options and sensible defaults. The
pickStringtype provides a good UX for selecting commands and severity levels.
43-45: LGTM!Setting a global
cwdto${workspaceFolder}establishes a consistent default working directory while allowing individual tasks to override when needed.
88-93: LGTM!Combining
dotnet restorewithdotnet outdatedprovides immediate feedback on package status. The FluentAssertions exclusion is a reasonable pattern for intentionally pinned dependencies.
158-165: LGTM!The new "Delete: Temporary caches (and restore)" task is a useful addition. Using
--force-evaluateafter cleaning ensures NuGet fully re-evaluates dependencies rather than using cached resolution.
194-208: LGTM!The new "Build: Website" task provides a clean way to build the Jekyll site without serving, useful for CI/deployment scenarios. The environment configuration is consistent with other Jekyll tasks.
248-259: LGTM!Adding the build dependency ensures Roslynator has compiled assemblies to analyze, which is required for accurate static analysis.
283-311: LGTM!The consistent naming convention ("Lint: X" / "Lint: X (fix)") and properly aggregated problem matchers improve discoverability and error reporting.
398-483: LGTM!The task definitions follow consistent naming conventions with clear prefixes (Generate:, Run:) and appropriate configurations.
49-57: Remove$eslint-compactfrom the problemMatcher.This is a .NET project without eslint or JavaScript/TypeScript tooling. The
.devcontainer/startup.shscript installs only .NET tools (dotnet-format, roslynator, dotnet-outdated-tool). The$eslint-compactmatcher will never match any output from this task and serves no purpose. Change"problemMatcher"to["$msCompile"]only.⛔ Skipped due to learnings
Learnt from: CR Repo: DaveSkender/Stock.Indicators PR: 0 File: .github/instructions/code-completion.instructions.md:0-0 Timestamp: 2025-12-24T07:53:10.028Z Learning: Monitor the VS Code Problems panel and ensure it is empty before requesting code reviewLearnt from: CR Repo: DaveSkender/Stock.Indicators PR: 0 File: .github/instructions/code-completion.instructions.md:0-0 Timestamp: 2025-12-24T07:53:10.028Z Learning: Applies to {src,tests}/**/*.cs : Run `dotnet format` to auto-correct stylistic issues and verify with `dotnet format --verify-no-changes` before committingLearnt from: CR Repo: DaveSkender/Stock.Indicators PR: 0 File: .github/instructions/code-completion.instructions.md:0-0 Timestamp: 2025-12-24T07:53:10.028Z Learning: Applies to {src,tests}/**/*.cs : Delete obsolete or commented-out code, unused imports, variables, helper methods, and temporary scripts in .NET projectsLearnt from: CR Repo: DaveSkender/Stock.Indicators PR: 0 File: .github/instructions/dotnet.instructions.md:0-0 Timestamp: 2025-12-24T07:54:08.839Z Learning: Use `dotnet format --verify-no-changes` to verify code style complianceLearnt from: DaveSkender Repo: DaveSkender/Stock.Indicators PR: 1402 File: .devcontainer/startup.sh:8-16 Timestamp: 2025-09-28T16:59:35.741Z Learning: In .devcontainer/devcontainer.json for the Stock.Indicators repository, Node.js is installed via the "ghcr.io/devcontainers/features/node:1" feature with LTS version, making npm commands in startup.sh safe to use..github/workflows/test-indicators.yml (3)
16-17: LGTM! Comment formatting cleanup.Minor formatting improvement with no functional impact.
128-129: dorny/[email protected] is a valid, current release with no security issues.The version was released on November 30, 2025, and includes meaningful improvements: Python support, sax.js XML parsing fix for large files, enhanced pytest support, and security dependency updates (including actions/checkout v5→v6). The
!cancelled()condition is appropriate—it publishes test reports even on failure while skipping only when the workflow is cancelled.
26-26: actions/checkout@v6 is safe and current—no migration changes needed.v6 is the latest stable version (released Nov 20, 2025; patch v6.0.1 Dec 2, 2025). For typical workflows without Docker container steps, the upgrade requires no code changes. The persist-credentials behavior improved for security but remains transparent to standard git operations.
Likely an incorrect or invalid review comment.
.github/workflows/deploy-package.yml (1)
265-265: LGTM! Comment formatting cleanup.Minor formatting improvement with no functional impact.
No description provided.