Skip to main content

code-completion

Quality gates for finishing work in this repository — dead-code cleanup, Roslynator and dotnet format fixes, markdownlint, build, unit tests, documentation, and Obsolete migration shims — with the VS Code task behind each gate and the files that define the commands CI runs. Use before reporting any implementation, bug fix, or refactor as done, before committing, and when a CI quick-check, lint, or build step fails.

소스 정보

저장소
facioquo/stock-indicators-dotnet
최근 소스 활동
2026년 10월 10일 05:39
감지된 SKILL.md 언어
영어
스타
1,250
포크
275

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
code-completion
description
Quality gates for finishing work in this repository — dead-code cleanup, Roslynator and dotnet format fixes, markdownlint, build, unit tests, documentation, and Obsolete migration shims — with the VS Code task behind each gate and the files that define the commands CI runs. Use before reporting any implementation, bug fix, or refactor as done, before committing, and when a CI quick-check, lint, or build step fails.
# Code completion Run these gates before reporting any implementation cycle as done. The VS Code task behind each gate, and the configuration and CI files that define them, are in the [quality gates reference](references/quality-gates.md); load it when a single gate fails. CI builds `src/Indicators.csproj` and `tests/Library/Tests.Indicators.csproj` with `-warnAsError`, so a warning that passes a local build fails CI. ## Workflow ### Step 1: Remove dead code - Delete commented-out code, unused usings, variables, and helpers. - Strip debugging aids such as `Console.WriteLine` calls. - Delete scratch files (`.bak`, `.new`, `.debug.*`). ### Step 2: Apply fixers Run the fixers: ```bash dotnet tool run roslynator fix --properties TargetFramework=net10.0 --severity-level hidden --verbosity normal dotnet format --severity info --no-restore echo y | npx markdownlint-cli2 --fix ``` VS Code task: `Lint: All (fix)` (it builds first). The Roslynator CLI comes from `dotnet-tools.json`; run `dotnet tool restore` first if `roslynator` is not found. ### Step 3: Build ```bash dotnet build "Stock.Indicators.sln" -v minimal --nologo ``` VS Code task: `Build: .NET Solution (incremental)`. Zero warnings and zero errors. ### Step 4: Run unit tests VS Code task: `Test: Unit tests`; the command and the runner's options are in `tests/README.md`. The runsettings filter excludes the `Regression` and `Integration` test categories. Run `Test: Regression tests` as well when an indicator's calculation changed. ### Step 5: Update documentation and migration shims When a public API or indicator behavior changes: - Update XML documentation on every changed public member. - Update the indicator page `docs/indicators/{slug}.md` — the documentation skill owns its structure. - Rename or remove a public v3 API only behind a delegating shim — see [migration shims](#migration-shims). ### Step 6: Verify Run the read-only checks CI runs, and confirm each exits clean: ```bash dotnet tool run roslynator analyze --properties TargetFramework=net10.0 --severity-level hidden --verbosity normal dotnet format --verify-no-changes --severity info --no-restore echo y | npx markdownlint-cli2 ``` VS Code task: `Verify: Quick checks (build + lint + unit test)` covers build, Roslynator, markdownlint, and unit tests; it does not run `dotnet format --verify-no-changes` (`Lint: .NET format` does). When a `{Name}Hub.cs` or its test changed, also run `bash tools/scripts/audit-streamhub.sh`, which CI runs in the quick check. ## Migration shims Obsolete members live in `src/Obsolete/`, each `[Obsolete]` with a message naming the replacement and `[ExcludeFromCodeCoverage]`: | File | Holds | | ---- | ----- | | `Obsolete.V3.Indicators.cs` | v2 → v3 indicator method renames (`GetX` → `ToX`) | | `Obsolete.V3.Other.cs` | Other v2 → v3 type and utility bridges | | `Obsolete.V3.Suppressions.cs` | Assembly-level analyzer suppressions the shims need | | `Obsolete.V4.cs` | Non-breaking shims for public APIs renamed within v3; removed in v4 | - A v2 → v3 change also updates `docs/migration/v3.md`. - A rename within v3 adds a delegating member to `Obsolete.V4.cs` with `[Obsolete("Use … instead.", false)]`, so existing callers compile with a warning. ## Indicator work A new or changed indicator has a per-style file set (series, buffer, stream, catalog, tests, regression baseline, benchmark, docs page). The indicator-series skill owns that checklist; this skill adds only the gates above. ## Quality bar - Zero lint findings, build warnings, and build errors. - All unit tests pass; the repository targets ≥ 98% line coverage, reported to Codacy from CI. - Public API changes carry XML docs, an updated docs page, and a migration shim. ## Do not do these - Do not suppress, ignore, or defer a warning to get a gate green; fix the cause. - Do not run `dotnet test "Stock.Indicators.sln"` as the unit gate. It also runs the regression and integration categories, which are slow and spawn the SSE test server process. - Do not report work as done from a build alone; the unit tests and the read-only lint checks are part of the bar.
GitHub에서 보기