teamcity-cli AGENTS.md

Repository guidance for AI coding agents working on the TeamCity command-line tool. It explains where project rules live and lists common commands for building, testing, linting, and generating documentation.

In plain words
What is it for?
Use it when changing the TeamCity CLI, especially when building, running unit or integration tests, checking code quality, testing against the live service, or updating command-reference documentation.
Why use it?
It reduces guesswork about the project's coding style, required checks, and commit or pull-request conventions. It also points agents to the main source of truth before they make changes.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/jetbrains/teamcity-cli/agents-md
Clone the repo
git clone --depth 1 https://github.com/JetBrains/teamcity-cli

Made for: Codex, OpenCode.

Per session 887 This file is loaded in full into every session.
When invoked 887 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00887 $0.00887
Opus 5 $0.00443 $0.00443
Sonnet 5 $0.00177 $0.00177
Haiku 4.5 $0.00089 $0.00089

Measured 2d ago against content hash 7010e9b9163a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

teamcity-cli AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Instructions

Read CONTRIBUTING.md — it is the source of truth for architecture, conventions, testing, linting, and the before-pushing checklist. Everything below is additive guidance for AI agents only.

Quick reference

just build          # go build → bin/teamcity
just install        # go install ./tc → $GOPATH/bin/teamcity
just lint           # go fmt + go fix + golangci-lint
just unit           # unit tests
just test           # unit + integration (testcontainers)
just acceptance     # e2e against cli.teamcity.com (-tags=acceptance)
just snapshot       # goreleaser local snapshot (all platforms)
just docs-generate  # regenerate CLI command reference
just record-gifs <name>  # record GIF from docs/tapes/<name>.tape → docs/images/

Code style

  • Start lean. First draft is the bare minimum — the observable behavior plus the guards needed to make it correct. Don't pre-emptively add throttle files, *_NO_* env knobs, marker state, helper helpers, or "in case" escape hatches. Add them when a real signal asks for them.
  • One-line comments by default. Single-line godoc on exported symbols; only wrap when an invariant or trade-off truly needs the room.
  • Reuse what's there before inventing. Output goes through internal/output — tip strings live in output/tips.go and render via output.FormatTip; status messages via output.Printer. Search for an existing helper before adding a parallel path.
  • Verify visible behavior before claiming done. For runtime/UX changes, build (just build) and exercise the binary — the verify and run skills exist for this. Type-check passing ≠ feature works.

Commits and PRs

  • Don't commit unless asked.
  • Conventional format: feat(scope):, fix(scope):, refactor(scope):.
  • Subject line only by default. Recent commits are single-line; push the why into the PR description, not the commit body. Add a body only when context genuinely won't fit anywhere else.
  • Always respect .github/PULL_REQUEST_TEMPLATE.md when opening a PR. Fill every section the template defines — its <!-- Delete ... --> hints are misleading, never drop a section. Write N/A — <reason> for sections that don't apply. Don't invent extra sections.
  • PR descriptions stay lean. Summary fits a paragraph; Changes is a short bullet list; no marketing copy, no restated diff. If Design Decisions has nothing non-obvious, write Straightforward. and move on.

Read the full file on GitHub · 67 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 67 lines · 887 tokens per session scan A 7010e9b9163a

Subscribe to this mod's changes

teamcity-cli AGENTS.md is an instructions file published in the GitHub repository JetBrains/teamcity-cli (123 stars, last pushed 12d ago), licensed Apache-2.0. It adds 887 tokens to every session, about $0.0044 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.