CtrlK
BlogDocsLog inGet started
Tessl Logo

gamussa/coding-policy

Coding policy for Viktor Gamov's AI agents: language-agnostic quality rules, autonomous shipping discipline, and stack defaults for JVM, Swift, TypeScript, and Python

78

Quality

98%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

gamussa/coding-policy

tessl

Coding policy plugin for Viktor Gamov's AI agents. Language-agnostic code quality rules, autonomous shipping discipline, stack defaults for JVM, Swift, TypeScript, and Python, plus the hooks, reviewer, and release workflow that enforce them.

A fork-in-spirit of jbaruch/coding-policy: the code rules, the ship-on-green stance, the session hooks, and the Codex policy reviewer are ported; the multi-agent team layer and the fleet publishing pipeline are not. See CHANGELOG.md for what was kept, dropped, and added.

Installation

tessl install gamussa/coding-policy

To wire a repository fully (plugin at latest, per-repo Codex policy reviewer, Copilot lane, .tessl/ hygiene), run the onboard-repo skill from that repository. See docs/consumer-setup.md.

What's Included

Rules

CategoryRuleSummary
Gitcommit-conventionsImperative mood, one change per commit, PR hygiene, no AI attribution trailers
Gitsync-before-workFetch and sync the local checkout to the remote default before reading, planning, or editing
Testingtesting-standardsOutcome-based, deterministic, no binary fixtures; per-stack test conventions
Errorserror-handlingSpecific exceptions, shell set -euo pipefail, actionable messages, structured logging
Depsdependency-managementStdlib first, pinned versions with a renewal mechanism, lock files, no vendoring
Filesfile-hygieneProper .gitignore, no generated files, entry-point guards, idempotent scripts
CIci-safetyNever skip tests, never smuggle CI edits, always watch CI to a terminal state
Secretsno-secretsNo credentials in code; env vars or a secrets manager; .env.example
Stylecode-formattingUse the project's formatter; stack defaults when none exists; no style-plus-logic commits
Typeslanguage-diagnosticsEnable the language engine, never silence a finding without cause, gate CI at zero
Disciplineboy-scoutLeave it better than you found it; "pre-existing" is not a concept
Disciplineship-on-greenGreen gate is the approval; asking is deciding not to ship; three objective exits only
Disciplineverify-before-done"Done" means a shown passing run; "should work" is not a state
Disciplineenvironment-changesState a machine-level install or a new dependency before making it
Communicationresponse-clarityAction first, numbered steps, plain errors, one next step, no preamble
Concurrencyagent-worktree-isolationGit worktrees for concurrent agent work; cleanup; read-only exception
Reviewreview-severityBlocking gates the merge, advisory never does; Copilot is always advisory
Reviewreviewer-feedback-readingRead every reviewer's body before declaring merge-ready, COMMENTED included
Scopeexternal-repo-contributionsDefault deny on issues, PRs, comments, and reactions in repos the operator does not own
Automationhook-action-reportingRelay Session-start status — hook payloads once, then act on what they name
Demosdemo-readinessTalk and workshop repos run from a fresh clone with one command and a documented reset
Authoringscript-delegationDeterministic work goes in scripts, reasoning stays in the LLM; skills cite a script's contract
Authoringskill-authoringSKILL.md structure, flat step numbering, typed Skill() calls, manifest reference
Authoringcontext-artifactsPlugin structure, rule format and frontmatter, writing style, surface sync, manual versioning

Skills

SkillDescription
releaseShip a branch: readiness checks, PR, Codex policy review plus advisory Copilot review, watch to a verdict, address feedback, merge on green, cleanup, and publish confirmation for plugin repos.
onboard-repoBootstrap a consumer repo: install the plugin at latest, gitignore .tessl/, scaffold the per-repo Codex reviewer workflow and Copilot instructions, set CODEX_AUTH_JSON, open the PR.

Hooks

HookEventDescription
check-policy-freshnessSessionStartWarns (throttled once a day) when installed Tessl plugins are behind the registry. Informative only.
check-git-syncSessionStartFetches origin (throttled once an hour per repo) and warns when the local default branch is behind or diverged. Informative only.
check-tessl-latestSessionStartWarns when tessl.json pins a gamussa/* dependency instead of latest. Informative only.
stop-handoff-hygieneStop (Claude Code + Codex)Blocks the handoff once on leftover merged branches, orphaned worktrees, or shellcheck/pyright findings in the changed set. A dirty tree is reported, not blocked.

Philosophy

  • Language-agnostic rules, stack-aware defaults. The rules apply to any language. Where a tool choice matters (test runner, formatter, diagnostics engine), the rule names a default per stack and defers to whatever the project already uses.
  • Autonomous by default. Green required checks are the approval. The agent merges, cleans up, and reports; it asks only on Red, No-undo, or Murky.
  • Proof over claims. A task is done when the run is shown. Hooks and CI mechanize the rules that agents forget: sync at session start, hygiene at handoff, policy review on every PR.
  • One concern per rule. Each file covers one topic so it can be read, cited, and overridden on its own.
  • Deterministic things are scripts. Anything with fixed inputs and outputs is a tested script the skill calls; the LLM keeps the judgment calls.
  • Loaded by default, scoped by intent. Universal rules are alwaysApply: true; rules that only fire in specific files declare applyTo: so the agent narrows when to act.

Development

bash scripts/run-diagnostics.sh   # shellcheck + pyright at zero findings
bash scripts/run-tests.sh         # every **/tests/test_*.sh suite
tessl plugin lint                 # manifest and structure

Every PR that changes shipped content bumps version in .tessl-plugin/plugin.json and adds a ## <version> — <date> heading to CHANGELOG.md; scripts/check-version-bump.sh enforces it in CI. Merging to main publishes that version.

Workspace
gamussa
Visibility
Public
Created
Last updated
Publish Source
CLI
Badge
gamussa/coding-policy badge