Skip to content

Commit 40578d2

Browse files
repo standardisation
1 parent 014d3fd commit 40578d2

16 files changed

Lines changed: 853 additions & 36 deletions

File tree

.claude/skills/ci-prep/SKILL.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: ci-prep
3+
description: Prepares the current branch for CI by running lint, test, coverage, and build in sequence, fixing issues at each step. Use before pushing a branch or when the user wants to verify the branch will pass CI.
4+
---
5+
6+
# CI Prep
7+
8+
Prepare the current state for CI. Ensures the branch will pass CI before pushing.
9+
10+
## Steps
11+
12+
1. Run `make lint` — fix any issues before continuing
13+
2. Run `make test` — fix any failures before continuing
14+
3. Run `make coverage-check` — coverage must meet threshold
15+
4. Run `make build` — confirm build succeeds
16+
5. Report: all clear / what failed
17+
18+
## Rules
19+
20+
- Do not push if any step fails
21+
- Fix issues found in each step before moving to the next
22+
- Never skip steps or suppress errors
23+
24+
## Success criteria
25+
26+
- `make ci` exits with code 0
27+
- Coverage threshold met
28+
- Build artifacts produced successfully

.claude/skills/fmt/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: fmt
3+
description: Formats all code in this repo (C# with CSharpier, Rust with cargo fmt). Use when the user asks to format code, fix formatting, or before committing changes.
4+
---
5+
6+
# Format
7+
8+
Format all code in this repo.
9+
10+
## Steps
11+
12+
1. Run `make fmt`
13+
2. Run `make fmt-check` to confirm clean
14+
3. Report which files were modified
15+
16+
## Success criteria
17+
18+
- `make fmt-check` exits with code 0 after formatting

.claude/skills/format/SKILL.md

Lines changed: 0 additions & 20 deletions
This file was deleted.

.claude/skills/lint/SKILL.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: lint
3+
description: Runs all linters and format checks across C#, Rust, and TypeScript, then fixes any issues found. Use when the user asks to lint, check code quality, or fix linting errors.
4+
---
5+
6+
# Lint
7+
8+
Run all linters and report issues.
9+
10+
## Steps
11+
12+
1. Run `make lint`
13+
2. Run `make fmt-check`
14+
3. Report all issues found (file, line, rule, message)
15+
4. If issues found, fix them and re-run to confirm clean
16+
17+
## Rules
18+
19+
- Never suppress a lint warning with an ignore comment
20+
- Fix the code to satisfy the linter
21+
- If a rule seems wrong for a specific case, document why in code comments
22+
23+
## Success criteria
24+
25+
- `make lint` exits with code 0
26+
- `make fmt-check` exits with code 0
27+
- Zero warnings or errors output

.devcontainer/devcontainer.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "DataProvider (C#/.NET)",
3+
"image": "mcr.microsoft.com/devcontainers/dotnet:1-9.0",
4+
"remoteUser": "vscode",
5+
"postCreateCommand": "bash .devcontainer/setup.sh",
6+
"customizations": {
7+
"vscode": {
8+
"extensions": [
9+
"ms-dotnettools.csharp",
10+
"ms-dotnettools.csdevkit",
11+
"usernamehw.errorlens",
12+
"csharpier.csharpier-vscode"
13+
],
14+
"settings": {
15+
"editor.formatOnSave": true,
16+
"[csharp]": {
17+
"editor.defaultFormatter": "csharpier.csharpier-vscode"
18+
}
19+
}
20+
}
21+
}
22+
}

.devcontainer/setup.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
echo "==> Setting up development environment..."
5+
6+
# ---- .NET ----
7+
if command -v dotnet &>/dev/null; then
8+
dotnet restore
9+
dotnet tool restore
10+
fi
11+
12+
# ---- Rust (for LQL LSP) ----
13+
if command -v cargo &>/dev/null; then
14+
cd Lql/lql-lsp-rust && cargo build && cd ../..
15+
fi
16+
17+
# ---- Node (for LQL Extension) ----
18+
if command -v npm &>/dev/null && [[ -f Lql/LqlExtension/package.json ]]; then
19+
cd Lql/LqlExtension && npm install --no-audit --no-fund && cd ../..
20+
fi
21+
22+
echo "==> Setup complete. Run 'make ci' to validate."

0 commit comments

Comments
 (0)