Coding Standards
SkillMonitoring & opsLoad perl-lsp coding standards for code-writing or code-review work in this repo. Use when implementing, fixing, reviewing, or validating code.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Coding Standards skill
What this skill tells your AI
The instructions your AI receives, as published by effortlessmetrics/perl-lsp in docs/reference/archive/old-infrastructure/skills/coding-standards/SKILL.md and read by ahel’s review.
This skill is the full on-demand coding standards reference for agents. Hooks may inject a condensed summary automatically, but that Layer 0 context is not a replacement for the complete standards below.
Banned In Production Code
unwrap(),expect()→ use?,.ok_or_else(), or pattern matchingpanic!(),todo!(),unimplemented!()→ returnResult/Optiondbg!()→ usetracing::debug!std::process::abort()→ neverstd::process::exit()→ only inbin/directories andlifecycle.rs- Exception: one
#[allow(clippy::expect_used)]incrates/perl-lsp/src/util/uri.rs
Patterns
- Regex init:
Option<Regex>with.ok()for graceful degradation - Non-empty collections: fixed-size arrays
[T; N]for compile-time guarantees .first()over.get(0).push(char)not.push_str("x")for single charsor_default()notor_insert_with(Vec::new)- No unnecessary
.clone()on Copy types
Test Standards
- Return
Result<()>from tests, or useperl_tdd_support::must/must_some - Descriptive names:
test_<what>_<scenario>_<expected> - LSP tests:
RUST_TEST_THREADS=2 cargo test -p perl-lsp -- --test-threads=2
Commit Format
- Conventional:
type(scope): description - Types:
fix,feat,test,docs,chore,perf,refactor - Scope: crate name, subsystem, or repo area being changed
Verification
Run cargo fmt --all && cargo clippy -p <crate> --tests -- -D warnings && cargo test -p <crate>
Escalate to nix develop -c just ci-gate for changes spanning 3+ crates.
Git Commit Hygiene
- Only
git addfiles you intentionally created or modified - Never use
git add -Aorgit add . - Exclude from commits unless your task requires them:
Cargo.lockunless dependencies changed.claude/infrastructure files unless that is the taskdocs/project/CURRENT_STATUS.mdscripts/.ignored-baseline
- Before committing, run
git diff --cached --name-only
Dual Indexing
file_index.references.entry(bare_name.to_string()).or_default().push(symbol_ref.clone());
file_index.references.entry(qualified).or_default().push(symbol_ref);
Signals
- GitHub stars
- 26
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
coding-standards-effortlessmetrics- Source
- github.com/effortlessmetrics/perl-lsp