--- name: lint description: Run all linters and type checks for the Archipelago project allowed-tools: Bash, Read, Grep argument-hint: "[backend|frontend|all]" --- Run linters and type-checks for $ARGUMENTS (default: all). ## Frontend Linting ```bash cd neode-ui # Type check npm run type-check 2>&1 # Check for any `any` types (should be zero) grep -rn ': any' src/ --include='*.ts' --include='*.vue' | grep -v node_modules | grep -v '.d.ts' # Check for inline Tailwind violations (long class strings) grep -rn 'class="[^"]\{100,\}"' src/ --include='*.vue' # Check for TODO/FIXME grep -rn 'TODO\|FIXME' src/ --include='*.ts' --include='*.vue' # Check for console.log (should be cleaned before production) grep -rn 'console\.\(log\|warn\|error\)' src/ --include='*.ts' --include='*.vue' | wc -l ``` ## Backend Linting (on dev server) ```bash ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \ 'source ~/.cargo/env && cd ~/archy/core && cargo clippy --all-targets --all-features 2>&1 && cargo fmt --all -- --check 2>&1' ``` ## Script Linting ```bash # Check for scripts missing set -e for f in scripts/*.sh; do if ! head -5 "$f" | grep -q 'set -e'; then echo "MISSING set -e: $f" fi done # Check for hardcoded IPs (should use variables) grep -rn '192\.168\.1\.' scripts/ --include='*.sh' | grep -v deploy-config ``` Report all issues found with severity (critical/warning/info).