Skip to content
Open
12 changes: 12 additions & 0 deletions .claude/rules/acceptance-tests.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
paths:
- "acceptance/**"
---

# Acceptance Test Rules

- Tests use Cucumber/Gherkin via Godog with Testcontainers for infrastructure
- Run single scenario: `make scenario_<name>` (replace spaces with underscores)
- Use `-persist` flag to keep test env for debugging, `-restore` to rerun
- Snapshot testing: update with `UPDATE_SNAPS=true make acceptance`
- macOS requires Podman machine — see `hack/macos/README.md`
15 changes: 15 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "echo \"$CLAUDE_FILE_PATHS\" | while IFS= read -r f; do case \"$f\" in *.go) gofmt -w \"$f\" 2>/dev/null;; esac; done"
}
]
}
]
}
}
8 changes: 8 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#### What:
<!--- What is this change doing? --->

#### Why:
<!--- Please include the context and background for your change. --->

#### Tickets:
<!--- Please link to any related Jira issue here. --->
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,17 @@ tags
# Persistent undo
[._]*.un~

# Go coverage output

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] style/conventions

The cover.out pattern is already matched by the existing *.out glob on line 149. The *.swp/*.swo patterns partially overlap with the vim swap patterns on lines 155-160. Not harmful, but technically redundant.

Suggested fix: Consider removing cover.out (keeping coverage.txt which is not otherwise matched) or adding a comment noting the intentional redundancy for clarity.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically redundant with the existing glob patterns, but the explicit entries are harmless and make the intent immediately visible to contributors who do not read glob character classes. Leaving as-is.

cover.out
coverage.txt
Comment thread
coderabbitai[bot] marked this conversation as resolved.

# Vim swap files (explicit patterns for tooling detection)
*.swp
*.swo

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] style/conventions

The new .swp and .swo patterns are already covered by existing Vim template glob patterns ([._].s[a-v][a-z] and [._].sw[a-p]) at lines 155-160. Similarly, cover.out is matched by the existing *.out at line 148. These are technically redundant.

Suggested fix: Consider removing the explicit .swp/.swo entries since they are already covered, or add a comment explaining why explicit patterns are needed alongside the glob-based ones.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically redundant with the glob patterns, but the explicit entries are harmless and make the intent immediately visible to contributors who do not read glob character classes. Leaving as-is.


# OS files
.DS_Store

# Last persisted acceptance test run information
acceptance/.persisted

Expand Down
7 changes: 7 additions & 0 deletions .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,17 @@ run:

linters:
enable:
- depguard
- gosec
- misspell
- staticcheck
settings:
depguard:
rules:
main:
deny:
- pkg: "io/ioutil"
desc: "Deprecated: use io and os packages instead"
gosec:
excludes:
- G122
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ repos:
- repo: https://github.com/conforma/hooks
rev: v0.0.2
hooks:
- id: check-commit-message
- id: check-commit-message
7 changes: 7 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ Acceptance tests require `/etc/hosts` entries:
127.0.0.1 rekor.localhost
```

## Single-File Verification

```bash
golangci-lint run internal/evaluator/evaluator.go # Lint a single file (fast)
gofmt -l internal/evaluator/evaluator.go # Check formatting on a single file
```

## Design Documents

Read these before modifying the corresponding areas:
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ such as:
Consult the [documentation][docs] for available sub-commands, descriptions and
examples of use.

## Installation

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] documentation

The new Installation section mentions "make build" for building from source. The existing Building section immediately below also opens with "Run make build", creating partial duplication.

Suggested fix: Consider having the Installation section link to the Building section instead of repeating the make build instruction, or merge the two sections.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intentional — the Installation section leads with pre-built binaries and mentions make build as a fallback, while the Building section covers the build in detail. Different audiences, different entry points.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] documentation

The new Installation section documents make build which overlaps with the existing Building section immediately below. The overlap is minor and the Installation section adds value by linking to pre-built release binaries.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intentional — the Installation section leads with pre-built binaries and mentions make build as a fallback, while the Building section covers the build in detail. Different audiences, different entry points.


Install a pre-built binary from the [latest release](https://github.com/conforma/cli/releases),
or build from source:

```bash
make build # builds dist/ec for your platform
```

See the [documentation][docs] for usage examples.

## Building

Run `make build` from the root directory and use the `dist/ec` executable, or
Expand Down
Loading