Skip to content

Repository files navigation

OpenTeamCode

AI coding sessions are ephemeral and individual. The context a developer builds up over an hour — what was tried, what got rejected and why, which team standards applied — disappears when the session closes, and the next person starts cold. OpenTeamCode makes that state durable, shareable, and governed for Python teams working on Azure DevOps.

It adds three things on top of an existing coding agent: session handoff artifacts that another developer can resume from, standards injected into every session so conventions survive contact with a model that has never read the team's style guide, and a guardrail scanner that runs before content leaves the machine.

What's mine and what isn't

OpenTeamCode is packages/otc (the CLI) and packages/otc-plugin (the OpenCode plugin), plus the validation harness in validation/. OpenCode is the foundation it extends and is vendored as a git submodule at ./opencode/ — that code is not mine. Clone with --recurse-submodules if you want the full tree.

Status: Phase 0 validation

Four hypotheses, each with a pass threshold set before the experiment ran. Two have reported; two have tooling in place and no data yet.

Experiment Threshold Result
Q002 — standards injection >80% compliance PASS — 100% across 20 tasks
Q003 — guardrails <5% false positives PASS — 3.6% FPR at 90% TPR, 75 files
Q001 — session continuation >70% productive tooling complete, 0 of 25 scenarios run
Q004 — team discipline sustained weekly maintenance tooling complete, week 0 of 4

Q003 is the one worth arguing about. A secret scanner that flags too much gets disabled by the team in a week, so the false-positive rate was the binding constraint and true-positive rate was allowed to give ground — 90% TPR means one real secret in ten walks past the scanner. That tradeoff is defensible only because the guardrail is one layer, not the only one. If it were the last line of defense the thresholds should be inverted.

Full experiment tracking is in project_docs/phase0-validation.md; architecture decisions are in project_docs/decisions.md.

Quick start

git clone --recurse-submodules https://github.com/KenStager/OpenTeamCode.git
cd OpenTeamCode/packages/otc
npm install
npm run otc -- --help

npm run otc -- init      # create the .ai/ folder from templates
npm run otc -- doctor    # 11 health checks, each with a remediation hint
npm run otc -- status    # config validity, session inventory, OpenCode state

Commands

Command What it does
otc init Create the .ai/ folder and config from templates
otc status Show config validity, session artifacts, OpenCode status
otc doctor Run 11 health checks with remediation guidance
otc guardrail scan [path] Scan files for secrets before they leave the machine
otc guardrail list Show active detection patterns
otc guardrail explain <id> Explain what a pattern matches and why
otc handoff Export the current session to .ai/sessions/
otc sessions list | show | search Browse and search session artifacts
otc continue <id> Resume a handed-off session
otc pr summarize <id> Summarize an Azure DevOps pull request
otc pr review <id> Review an Azure DevOps pull request

The pr commands call out to Azure DevOps and Anthropic, so they need credentials:

export ADO_PAT="..."            # Azure DevOps personal access token
export ANTHROPIC_API_KEY="..."
npm run otc -- pr summarize 1234 --dry-run   # no API calls, prints the plan

Organization and project come from .ai/config.yaml, or are auto-detected from the git remote in an ADO-hosted repo:

ado:
  organization: your-org
  project: your-project

Layout

packages/otc/          the otc CLI (commands, guardrails, ADO client, LLM adapter)
packages/otc-plugin/   OpenCode plugin exposing team features inside a session
validation/            Q001-Q004 experiment corpora and harnesses
project_docs/          PRD, feasibility assessment, ADRs, validation tracker
opencode/              submodule — upstream OpenCode, not this project's code

About

Team-native CLI extension turning ephemeral AI coding sessions into durable, governed team state for Python teams on Azure DevOps

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages