# Openshift Hypershift Code Formatting

> Code Quality, Formatting and Conventions

- Skill: `tomevault-io/openshift-hypershift-code-formatting` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/openshift-hypershift-code-formatting`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/openshift-hypershift-code-formatting/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/openshift-hypershift-code-formatting

---


# Code Quality, Formatting and Conventions

## Code Formatting and Linting

- **Use `make lint-fix`** after writing Go code to automatically fix most linting issues
- **Run `make verify`** to verify both linting and tests pass before committing
- **For markdown files**, use `make verify-codespell` to catch spelling errors

## Test Conventions - MANDATORY

**NON-NEGOTIABLE RULE**: Every Go test name MUST follow this exact format:
```go
name: "When <condition>, it should <expected behavior>"
```

Examples:
```go
name: "When NodePool has valid image ID, it should create Azure machine template"
name: "When subnet ID is invalid, it should return error"
name: "When encryption is enabled, it should configure disk encryption set"
```

**NEVER use generic names like:**
- ❌ "nominal case without managed identity"
- ❌ "basic Azure machine template with ImageID"
- ❌ "error case - invalid subnet ID"

**ALWAYS use "When...it should..." format:**
- ✅ "When NodePool has no managed identity, it should create template without identity"
- ✅ "When NodePool has ImageID, it should create basic Azure machine template"
- ✅ "When subnet ID is invalid, it should return error with subnet parse message"

- **Always include unit tests** when creating new functions or modifying existing ones

## Quick Checklist

Before committing:
- [ ] Ran `make lint-fix` on Go code
- [ ] Ran `make verify` (passes)
- [ ] Tests use "When...it should..." naming format
- [ ] New functions have unit tests
- [ ] Markdown checked with `make verify-codespell`

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/openshift) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

