Skip to content

chore: Update packages and settings#1793

Merged
DaveSkender merged 5 commits intomainfrom
main-props
Dec 28, 2025
Merged

chore: Update packages and settings#1793
DaveSkender merged 5 commits intomainfrom
main-props

Conversation

@DaveSkender
Copy link
Owner

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 28, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This 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 details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3ef663a and 17df302.

📒 Files selected for processing (4)
  • .github/workflows/deploy-package.yml
  • .github/workflows/deploy-website.yml
  • .github/workflows/test-website-a11y.yml
  • .github/workflows/test-website-links.yml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@DaveSkender DaveSkender changed the base branch from v3 to main December 28, 2025 04:53
@DaveSkender DaveSkender marked this pull request as ready for review December 28, 2025 05:13
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 files does 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.0 works for now but will need updates as .NET versions evolve.

You could add a roslynatorFramework input 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

📥 Commits

Reviewing files that changed from the base of the PR and between b431c14 and 3ef663a.

⛔ Files ignored due to path filters (1)
  • docs/examples/Skender.Stock.Indicators-Examples.zip is excluded by !**/*.zip and 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.json
  • docs/examples/Backtest/Backtest.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/examples/CustomIndicatorsLibrary/CustomIndicatorsLibrary.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/UseQuoteApi/UseQuoteApi.csproj
  • src/Directory.Packages.props
  • tests/Directory.Packages.props
  • tools/Directory.Build.props
  • tools/Directory.Packages.props
  • tools/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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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_analyze with rootPath set to the workspace path and tool set to 'trivy'

Keep .csproj metadata accurate and up-to-date

Files:

  • docs/examples/UseQuoteApi/UseQuoteApi.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • src/Directory.Packages.props
  • tests/Directory.Packages.props
  • tools/Directory.Build.props
  • tools/Directory.Packages.props
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.props
  • tests/Directory.Packages.props
src/**

📄 CodeRabbit inference engine (.github/instructions/dotnet.instructions.md)

Follow the .editorconfig configuration 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.json aligned.

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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • .github/workflows/test-indicators.yml
  • tests/Directory.Packages.props
  • .github/workflows/test-indicators-matrix.yml
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • tests/Directory.Packages.props
  • tools/Directory.Packages.props
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/examples/CustomIndicatorsUsage/CustomIndicatorsUsage.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/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.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/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.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/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.csproj
  • docs/examples/Backtest/Backtest.csproj
  • docs/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.csproj
  • docs/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.json
  • docs/examples/ConsoleApp/ConsoleApp.csproj
  • docs/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.csproj
  • docs/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.yml
  • tests/Directory.Packages.props
  • .github/workflows/test-indicators-matrix.yml
  • .github/workflows/test-examples.yml
  • .vscode/tasks.json
  • 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 .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.yml
  • tests/Directory.Packages.props
  • .vscode/tasks.json
  • tools/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.props
  • tests/Directory.Packages.props
  • tools/Directory.Build.props
  • 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 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.props
  • 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: 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.props
  • tools/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.props
  • docs/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.useNestedAgentsMdFiles and chat.customAgentInSubagent.enabled are 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 args arrays 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-mcp is 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@latest is 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, and tools/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 pickString type provides a good UX for selecting commands and severity levels.


43-45: LGTM!

Setting a global cwd to ${workspaceFolder} establishes a consistent default working directory while allowing individual tasks to override when needed.


88-93: LGTM!

Combining dotnet restore with dotnet outdated provides 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-evaluate after 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-compact from the problemMatcher.

This is a .NET project without eslint or JavaScript/TypeScript tooling. The .devcontainer/startup.sh script installs only .NET tools (dotnet-format, roslynator, dotnet-outdated-tool). The $eslint-compact matcher 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 review
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
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
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: Use `dotnet format --verify-no-changes` to verify code style compliance
Learnt 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.

@DaveSkender DaveSkender merged commit 4e7cc53 into main Dec 28, 2025
11 of 13 checks passed
@DaveSkender DaveSkender deleted the main-props branch December 28, 2025 05:28
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 1, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant