Skip to content

Commit 06f99df

Browse files
author
Matthew
committed
Merge branch 'feat/rust-support' into 'main'
feat(standards): add Rust language ecosystem standards See merge request orgdocs/development-standards!19
2 parents 86b1672 + 2e25066 commit 06f99df

File tree

34 files changed

+288
-15
lines changed

34 files changed

+288
-15
lines changed

.cursorrules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ Critical Rules:
1919
6. Use the shared logging library. No raw `echo` for status messages. Use
2020
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2121
`lib/log.sh`.
22+
7. Never suppress failing checks. When a lint, format, security, or test
23+
check fails, fix the underlying issue. Never comment out code, add
24+
suppression annotations, disable rules, or mark CI jobs as
25+
allowed-to-fail to bypass a failing check.
2226

2327
Quick Reference:
2428

.opencode/agents.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ agents:
2424
6. Use the shared logging library. No raw `echo` for status messages. Use
2525
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2626
`lib/log.sh`.
27+
7. Never suppress failing checks. When a lint, format, security, or test
28+
check fails, fix the underlying issue. Never comment out code, add
29+
suppression annotations, disable rules, or mark CI jobs as
30+
allowed-to-fail to bypass a failing check.
2731
2832
Quick Reference:
2933

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
1415

1516
## Quick Reference
1617

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
1415

1516
## Quick Reference
1617

DEVELOPMENT.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Sections are wrapped in HTML comment markers (`<!-- devrail:section-name -->` /
1010

1111
## Critical Rules
1212

13-
These six rules are non-negotiable. Every developer and every AI agent must follow them without exception.
13+
These seven rules are non-negotiable. Every developer and every AI agent must follow them without exception.
1414

1515
1. **Run `make check` before completing any story or task.** Never mark work done without passing checks. This is the single gate for all linting, formatting, security, and test validation.
1616

@@ -24,6 +24,8 @@ These six rules are non-negotiable. Every developer and every AI agent must foll
2424

2525
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
2626

27+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations (`# noqa`, `# nosec`, `#tfsec:ignore`, `// nolint`), disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check. If a finding is a confirmed false positive, document the justification inline alongside the tool's designated suppression mechanism.
28+
2729
<!-- /devrail:critical-rules -->
2830

2931
<!-- devrail:makefile-contract -->

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ The `standards/` directory contains the canonical reference documents for all De
4848
| [ruby.md](standards/ruby.md) | Ruby tooling standards (rubocop, brakeman, bundler-audit, rspec, reek, sorbet) |
4949
| [go.md](standards/go.md) | Go tooling standards (golangci-lint, gofumpt, govulncheck, go test) |
5050
| [javascript.md](standards/javascript.md) | JavaScript/TypeScript tooling standards (eslint, prettier, npm audit, vitest, tsc) |
51+
| [rust.md](standards/rust.md) | Rust tooling standards (clippy, rustfmt, cargo-audit, cargo-deny, cargo test) |
5152
| [universal.md](standards/universal.md) | Universal security tools (trivy, gitleaks) |
5253
| [coding-practices.md](standards/coding-practices.md) | General coding principles, naming, error handling, testing, and dependencies |
5354
| [git-workflow.md](standards/git-workflow.md) | Branch strategy, pull requests, code review, merge policy, and git security |

dev-toolchain/.cursorrules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ Critical Rules:
1919
6. Use the shared logging library. No raw `echo` for status messages. Use
2020
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2121
`lib/log.sh`.
22+
7. Never suppress failing checks. When a lint, format, security, or test
23+
check fails, fix the underlying issue. Never comment out code, add
24+
suppression annotations, disable rules, or mark CI jobs as
25+
allowed-to-fail to bypass a failing check.
2226

2327
Quick Reference:
2428

dev-toolchain/.opencode/agents.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ agents:
2424
6. Use the shared logging library. No raw `echo` for status messages. Use
2525
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2626
`lib/log.sh`.
27+
7. Never suppress failing checks. When a lint, format, security, or test
28+
check fails, fix the underlying issue. Never comment out code, add
29+
suppression annotations, disable rules, or mark CI jobs as
30+
allowed-to-fail to bypass a failing check.
2731
2832
Quick Reference:
2933

dev-toolchain/AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
1415

1516
## Quick Reference
1617

dev-toolchain/CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
1415

1516
## Quick Reference
1617

0 commit comments

Comments
 (0)