validate-project
Run full CI validation for the current project directory
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Validate Project
Run complete pre-commit validation for the current project.
When to Use
- Before committing changes
- After major refactoring
- When CI is failing and you need to reproduce locally
- Before creating a pull request
Available Operations
- Go Validation: generate, tidy, fmt, lint, vet, test
- Frontend Validation: lint, format, type-check, test
- Clean Check: Verify no uncommitted changes from generation
Instructions
Step 1: Detect Project Type
Check for these indicators:
-
go.mod→ Go project -
package.jsoninui/→ Has frontend - Directory name → Project identification
Step 2: Go Validation (if applicable)
# 1. Generate code (if applicable)
if grep -q "go:generate" **/*.go 2>/dev/null; then
go generate ./...
fi
# 2. Tidy dependencies
go mod tidy
# 3. Format code
go fmt ./...
# 4. Lint (if config exists)
if [ -f .golangci.yml ] || [ -f .golangci.yaml ]; then
golangci-lint run
fi
# 5. Vet
go vet ./...
# 6. Test
go test -short ./...
Step 3: Frontend Validation (if applicable)
cd ui/user
pnpm run ci
Step 4: Clean Check
if [ -n "$(git status --porcelain)" ]; then
echo "ERROR: Uncommitted changes after generate/tidy"
git status --short
exit 1
fi
Resources
Load these Level 3 resources as needed:
-
scripts/validate.sh- Complete validation script (run directly) -
references/ci-pipeline.md- CI pipeline documentation
Examples
Example 1: Go Project
User asks: "Validate my changes before committing"
Response:
- Detect go.mod → Go project
- Run go generate, tidy, fmt, lint, vet, test
- Check for uncommitted changes
- Report status with ✓ or ✗ for each step
Example 2: Full-Stack Project (obot-entraid)
User asks: "Run full validation"
Response:
- Run Go validation in root
- Run frontend validation in ui/user
- Check for uncommitted changes
- Report combined status
Notes
- Stop on first failure for faster feedback
- Always run clean check last to catch generated file changes
- Use
--shortflag for tests to skip long-running integration tests
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!