Skip to content

Commit 4667d2a

Browse files
author
zengfr
committed
feat(F+G): release readiness + quality gap closure
F (Release & Security Readiness): - Root README.md with architecture overview, quick start, command reference - MIT LICENSE file - CHANGELOG.md (Keep a Changelog format) - CONTRIBUTING.md with dev workflow and PR checklist - GitHub Issue templates (bug_report, feature_request) + PR template - goreleaser.yml for cross-platform builds (linux/darwin/windows x amd64/arm64) - GitHub Release workflow (tag-triggered) - CI: add govulncheck security scanning step (CONSTRAINTS red line) - CI: add codecov coverage reporting - CI: add TUI unit test step (test:unit before e2e) - main.go: inject version/commit/date via goreleaser ldflags G (Quality Gap Closure): - RedisBus unit tests (miniredis): a2a 32.2% -> 88.3% - host/registry tests: host 58.3% -> 92.0% - MCP Server: replace stub Serve() with real stdio JSON-RPC 2.0 (initialize, tools/list, tools/call for govern_file + govern_directory) - TUI unit tests (vitest + jsdom + @testing-library/react): 22 tests (12 store + 10 useCommands) all pass - A2A DelegateParallel + Delegate benchmarks (p95 well under 500ms) - Registry.Count() method added - vitest.config.ts with jsdom environment
1 parent 88f7a8d commit 4667d2a

26 files changed

Lines changed: 5449 additions & 1395 deletions
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug Report
3+
about: Report a defect or unexpected behavior
4+
title: "[BUG] "
5+
labels: bug
6+
---
7+
8+
## Description
9+
10+
A clear description of the bug.
11+
12+
## Steps to Reproduce
13+
14+
1.
15+
2.
16+
3.
17+
18+
## Expected Behavior
19+
20+
What you expected to happen.
21+
22+
## Actual Behavior
23+
24+
What actually happened.
25+
26+
## Environment
27+
28+
- OS:
29+
- Go version:
30+
- Backend CLI (codex/opencode/claude/dsh):
31+
- AiCodingAgentTeam version:
32+
33+
## Logs
34+
35+
```
36+
Paste relevant logs here
37+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature or enhancement
4+
title: "[FEATURE] "
5+
labels: enhancement
6+
---
7+
8+
## Problem
9+
10+
What problem does this feature solve?
11+
12+
## Proposed Solution
13+
14+
Describe the feature you would like to see.
15+
16+
## Alternatives Considered
17+
18+
Any alternative solutions you have considered.
19+
20+
## Additional Context
21+
22+
Any other information or screenshots.

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Description
2+
3+
Brief description of the changes.
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix (non-breaking)
8+
- [ ] New feature (non-breaking)
9+
- [ ] Breaking change
10+
- [ ] Documentation update
11+
- [ ] Refactor / cleanup
12+
13+
## Checklist
14+
15+
- [ ] Spec written to `docs/spec/` (if new feature)
16+
- [ ] Plan written to `docs/plan/` (if multi-step)
17+
- [ ] Tests written and passing (`go test ./... -count=1`)
18+
- [ ] Lint passes (`golangci-lint run ./...`)
19+
- [ ] Build passes (`go build ./...`)
20+
- [ ] No quality gate thresholds lowered
21+
- [ ] Documentation updated (if behavior changed)
22+
- [ ] No hardcoded secrets or API keys
23+
24+
## Related Issues
25+
26+
Closes #

‎.github/workflows/ci.yml‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,21 @@ jobs:
2121
- name: Vet
2222
run: go vet ./...
2323
- name: Test
24-
run: go test ./... -count=1 -race
24+
run: go test ./... -count=1 -race -coverprofile=coverage.out -covermode=atomic
25+
- name: Upload coverage
26+
uses: codecov/codecov-action@v5
27+
with:
28+
files: ./coverage.out
29+
fail_ci_if_error: false
2530
- name: golangci-lint
2631
uses: golangci/golangci-lint-action@v9
2732
with:
2833
version: v2.13
2934
args: --timeout 5m
35+
- name: Vulnerability scan
36+
run: |
37+
go install golang.org/x/vuln/cmd/govulncheck@latest
38+
govulncheck ./...
3039
3140
tui:
3241
runs-on: ubuntu-latest
@@ -45,6 +54,9 @@ jobs:
4554
- name: Lint
4655
working-directory: tui
4756
run: npm run lint
57+
- name: Unit tests
58+
working-directory: tui
59+
run: npm run test:unit
4860
- name: E2E (live server)
4961
working-directory: tui
5062
run: |
@@ -64,4 +76,4 @@ jobs:
6476
- name: Build coordinator
6577
run: go build -o aicodingagentteam ./cmd/aicodingagentteam
6678
- name: Dogfood quality gate
67-
run: ./aicodingagentteam verify
79+
run: ./aicodingagentteam verify

‎.github/workflows/release.yml‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v5
16+
with:
17+
fetch-depth: 0
18+
19+
- uses: actions/setup-go@v6
20+
with:
21+
go-version: "1.25"
22+
23+
- name: Run GoReleaser
24+
uses: goreleaser/goreleaser-action@v6
25+
with:
26+
distribution: goreleaser
27+
version: latest
28+
args: release --clean
29+
env:
30+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
32+
- name: Upload artifacts
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: release-artifacts
36+
path: dist/
37+
retention-days: 30

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,4 @@ output/quality-gate.md
4141
codex_cov
4242
cover_codex
4343
cover_codex.out
44+
cover_all

‎.goreleaser.yml‎

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
version: 2
2+
3+
project_name: aicodingagentteam
4+
5+
before:
6+
hooks:
7+
- go mod tidy
8+
9+
builds:
10+
- id: aicodingagentteam
11+
main: ./cmd/aicodingagentteam
12+
binary: aicodingagentteam
13+
env:
14+
- CGO_ENABLED=0
15+
targets:
16+
- linux_amd64
17+
- linux_arm64
18+
- darwin_amd64
19+
- darwin_arm64
20+
- windows_amd64
21+
- windows_arm64
22+
ldflags:
23+
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
24+
25+
archives:
26+
- id: default
27+
name_template: >-
28+
{{ .ProjectName }}_{{ .Version }}_
29+
{{- if eq .Os "linux"}}Linux
30+
{{- else if eq .Os "darwin"}}macOS
31+
{{- else if eq .Os "windows"}}Windows
32+
{{- end}}_
33+
{{- if eq .Arch "amd64"}}x86_64
34+
{{- else if eq .Arch "arm64"}}ARM64
35+
{{- end}}
36+
format_overrides:
37+
- goos: windows
38+
format: zip
39+
files:
40+
- README.md
41+
- LICENSE
42+
- CHANGELOG.md
43+
- docs/*.md
44+
- deploy/compose/docker-compose.yml
45+
46+
checksum:
47+
name_template: "checksums.txt"
48+
algorithm: sha256
49+
50+
snapshot:
51+
version_template: "{{ .Tag }}-next"
52+
53+
changelog:
54+
use: git
55+
sort: desc
56+
filters:
57+
exclude:
58+
- "^docs:"
59+
- "^test:"
60+
- "^chore:"
61+
- "Merge pull request"
62+
- "Merge branch"
63+
64+
release:
65+
github:
66+
owner: agentcodinglab
67+
name: aicodingagentteam
68+
draft: true
69+
prerelease: auto
70+
name_template: "{{ .Tag }}"

‎CHANGELOG.md‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Changelog
2+
3+
All notable changes to AiCodingAgentTeam are documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Root README.md with architecture overview and quick start guide
12+
- MIT LICENSE file
13+
- CONTRIBUTING.md with development workflow
14+
- GitHub Issue and Pull Request templates
15+
- goreleaser.yml for cross-platform binary builds
16+
- GitHub Release workflow (tag-triggered)
17+
- CI govulncheck security scanning step
18+
- CI codecov coverage reporting
19+
- RedisBus unit tests (miniredis)
20+
- host/registry unit tests
21+
- MCP Server real JSON-RPC stdio implementation
22+
- TUI component unit tests (ink-testing-library + vitest)
23+
- A2A DelegateParallel p95 benchmark
24+
25+
### Changed
26+
- golangci-lint-action v8 -> v9 (Node 20 deprecation fix)
27+
- GitHub Actions checkout@v4 -> v5, setup-go@v5 -> v6, setup-node@v4 -> v5
28+
29+
## [0.1.0] - 2026-09-02
30+
31+
### Added
32+
- Go orchestration engine: router -> planner -> scheduler -> coordinator 5-layer flow
33+
- Host drivers: Codex (real exec), OpenCode (real exec), Claude (stub), DSH (stub)
34+
- A2A protocol: InProcBus + RedisBus Pub/Sub
35+
- 9 team role agents with A2A reviewer registration
36+
- Quality gate engine with deterministic checks (golangci-lint + go vet + go test)
37+
- Governance engine with 113+ rules and fail-open design
38+
- RAG knowledge engine (BM25, pure Go, zero dependencies)
39+
- Project memory store (facts/pitfalls/lessons/recipes)
40+
- gRPC API with proto definitions
41+
- A2A HTTP server with Agent Card discovery
42+
- MCP/ACP server stubs
43+
- TypeScript TUI client (Ink + React + Zustand + gRPC)
44+
- Docker Compose deployment (coordinator + redis + agents + hosts)
45+
- ADR-0001 through ADR-0012 architecture decision records
46+
- Full documentation suite (requirements, architecture, design, deployment)

0 commit comments

Comments
 (0)