Update local QA skill workflow (#13)
This commit is contained in:
@@ -1,25 +1,22 @@
|
|||||||
# local-qa
|
---
|
||||||
|
name: local-qa
|
||||||
|
description: Run local QA including formatting, linting, and testing for the repository. Use whenever any file has been updated.
|
||||||
|
disable-model-invocation: false
|
||||||
|
---
|
||||||
|
|
||||||
Run local QA checks (format, lint, test) on the repository.
|
# Local QA (format, lint, and test)
|
||||||
|
|
||||||
## When to use
|
Run the local QA script `scripts/qa.sh` in this skill.
|
||||||
|
|
||||||
After making changes to repository files, run `scripts/qa.sh` to validate formatting, linting, and tests.
|
## Procedure
|
||||||
|
|
||||||
## Steps
|
- Execute the script exactly as shown above when this skill is triggered.
|
||||||
|
- Capture and summarize key output (success/failure, major warnings, and any files modified).
|
||||||
1. Execute `scripts/qa.sh` and capture the results.
|
- If the script fails due to missing tooling (`command not found`, missing executable, or equivalent), install the missing tool(s) and rerun `./scripts/qa.sh`.
|
||||||
2. Report successes, failures, warnings, and any modified files.
|
- Install tools using this order of preference:
|
||||||
|
1. Use the project's package manager when applicable (`uv`/`poetry` for Python, package manager scripts/dependencies for Node.js).
|
||||||
## If tools are missing
|
2. Use a system package manager (`brew` on macOS, `apt` on Debian/Ubuntu) when project-local install is not applicable.
|
||||||
|
3. Use language-specific installers as fallback (`pipx`/`pip`, `npm`, `go install`, etc.).
|
||||||
Install them following this priority order:
|
- If multiple tools are missing, repeat install -> rerun until QA completes or you hit a blocker.
|
||||||
|
- If installation fails or requires unavailable privileges, report what was attempted, the exact failure, and stop.
|
||||||
1. Project package managers (`uv`, `poetry`, npm scripts)
|
- Do not run unrelated commands; only run commands needed for QA and missing-tool installation.
|
||||||
2. System package managers (`brew`, `apt`)
|
|
||||||
3. Language-specific installers (`pipx`, `pip`, `npm`, `go install`)
|
|
||||||
|
|
||||||
## Constraints
|
|
||||||
|
|
||||||
- Only execute QA and tool-installation commands.
|
|
||||||
- If installation fails or requires unavailable privileges, report the attempt and exact failure, then stop.
|
|
||||||
|
|||||||
@@ -13,7 +13,14 @@ uv run pytest
|
|||||||
npx -y prettier --write './**/*.md'
|
npx -y prettier --write './**/*.md'
|
||||||
|
|
||||||
# GitHub Actions
|
# GitHub Actions
|
||||||
|
case "${OSTYPE}" in
|
||||||
|
darwin* | linux* )
|
||||||
zizmor --fix=safe .github/workflows
|
zizmor --fix=safe .github/workflows
|
||||||
git ls-files -z -- '.github/workflows/*.yml' | xargs -0 -t actionlint
|
git ls-files -z -- '.github/workflows/*.yml' | xargs -0 -t actionlint
|
||||||
git ls-files -z -- '.github/workflows/*.yml' | xargs -0 -t yamllint -d '{"extends": "relaxed", "rules": {"line-length": "disable"}}'
|
git ls-files -z -- '.github/workflows/*.yml' | xargs -0 -t yamllint -d '{"extends": "relaxed", "rules": {"line-length": "disable"}}'
|
||||||
checkov --framework=all --output=github_failed_only --directory=.
|
checkov --framework=all --output=github_failed_only --directory=.
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
echo "GitHub Actions linting is only supported on Linux and macOS."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ python -m mt5cli -o account.csv account-info
|
|||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
| ------------------ | ------------------------------------------- |
|
| ------------------ | ----------------------------------------------------------- |
|
||||||
| `rates-from` | Export rates from a start date |
|
| `rates-from` | Export rates from a start date |
|
||||||
| `rates-from-pos` | Export rates from a start position |
|
| `rates-from-pos` | Export rates from a start position |
|
||||||
| `rates-range` | Export rates for a date range |
|
| `rates-range` | Export rates for a date range |
|
||||||
|
|||||||
+1
-1
@@ -75,7 +75,7 @@ mt5cli --login 12345 --password mypass --server MyBroker-Demo \
|
|||||||
### Trading
|
### Trading
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
| ---------------- | ------------------------------------------- |
|
| ---------------- | ----------------------------------------------------------- |
|
||||||
| `orders` | Export active orders |
|
| `orders` | Export active orders |
|
||||||
| `positions` | Export open positions |
|
| `positions` | Export open positions |
|
||||||
| `history-orders` | Export historical orders |
|
| `history-orders` | Export historical orders |
|
||||||
|
|||||||
Reference in New Issue
Block a user