Skip to content

Commit e06cd9e

Browse files
committed
docs: fix stale build-tag references (teams -> server) in specs/029 and related docs
All //go:build teams, -tags teams, internal/teams/ references updated to //go:build server, -tags server, internal/serveredition/ to match the actual build tags used throughout the codebase. Related #603
1 parent bd4f2b9 commit e06cd9e

7 files changed

Lines changed: 16 additions & 16 deletions

File tree

docs/features/settings-page.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ friendly, prioritized form sections instead of raw JSON:
1212
isolation, sensitive-data detection, output validation, output sanitisation,
1313
activity retention, logging, TLS, …).
1414
- **Raw JSON** — the full Monaco editor, kept as an escape hatch.
15-
- **Server edition** — server build only.
15+
- **Server Edition** — server edition only.
1616

1717
## How saving works
1818

docs/plans/2026-03-08-repo-restructure-design.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ MCPProxy personal and teams editions will be built from the **same repository**
1313
## Binary Architecture
1414

1515
- `go build ./cmd/mcpproxy`**Personal edition** (default)
16-
- `go build -tags teams ./cmd/mcpproxy`**Teams edition**
17-
- Teams-only code lives in `internal/teams/` with `//go:build teams` guards
16+
- `go build -tags server ./cmd/mcpproxy`**Teams edition**
17+
- Teams-only code lives in `internal/serveredition/` with `//go:build server` guards
1818
- Teams features self-register via `init()` pattern
1919
- Binary self-identifies edition in version output, startup logs, `/api/v1/status`
2020

@@ -24,7 +24,7 @@ MCPProxy personal and teams editions will be built from the **same repository**
2424
mcpproxy-go/
2525
├── cmd/mcpproxy/
2626
│ ├── main.go ← shared entry point
27-
│ └── teams_register.go ← //go:build teams
27+
│ └── teams_register.go ← //go:build server
2828
├── internal/
2929
│ ├── teams/ ← teams-only code (all build-tagged)
3030
│ │ ├── auth/ ← OAuth authorization server

specs/029-mcpproxy-teams/data-model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This restructure introduces no new data entities. It adds build-time metadata on
66

77
| Field | Type | Source | Description |
88
|-------|------|--------|-------------|
9-
| `Edition` | `string` | Build tag | `"personal"` (default) or `"teams"` (with `-tags teams`) |
9+
| `Edition` | `string` | Build tag | `"personal"` (default) or `"teams"` (with `-tags server`) |
1010
| `Version` | `string` | ldflags | Semantic version from git tag |
1111
| `Commit` | `string` | ldflags | Short git commit hash |
1212
| `BuildDate` | `string` | ldflags | ISO 8601 UTC build timestamp |

specs/029-mcpproxy-teams/plan.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
## Summary
77

8-
Restructure the MCPProxy repository to support two editions (Personal and Teams) built from the same codebase using Go build tags. Personal is the default build; Teams requires `-tags teams`. Add Dockerfile for teams, `native/` directory skeleton for future Swift/C# tray apps, extended Makefile, and edition self-identification.
8+
Restructure the MCPProxy repository to support two editions (Personal and Teams) built from the same codebase using Go build tags. Personal is the default build; Teams requires `-tags server`. Add Dockerfile for teams, `native/` directory skeleton for future Swift/C# tray apps, extended Makefile, and edition self-identification.
99

1010
## Technical Context
1111

@@ -60,13 +60,13 @@ specs/029-mcpproxy-teams/
6060
```text
6161
cmd/mcpproxy/
6262
├── main.go # Shared entry point (modify: add edition variable)
63-
├── teams_register.go # NEW: //go:build teams — registers teams features
63+
├── teams_register.go # NEW: //go:build server — registers teams features
6464
└── edition.go # NEW: default edition = "personal"
65-
edition_teams.go # NEW: //go:build teams — overrides to "teams"
65+
edition_teams.go # NEW: //go:build server — overrides to "teams"
6666
6767
internal/
6868
├── teams/ # NEW: teams-only skeleton
69-
│ ├── doc.go # Package doc, //go:build teams
69+
│ ├── doc.go # Package doc, //go:build server
7070
│ ├── registry.go # Feature registry (init pattern)
7171
│ └── registry_test.go # Verify registration works
7272
├── httpapi/

specs/029-mcpproxy-teams/quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ go build -ldflags "..." -o mcpproxy ./cmd/mcpproxy
1515
```bash
1616
make build-teams
1717
# or directly:
18-
go build -tags teams -ldflags "..." -o mcpproxy-teams ./cmd/mcpproxy
18+
go build -tags server -ldflags "..." -o mcpproxy-teams ./cmd/mcpproxy
1919
./mcpproxy-teams version
2020
# MCPProxy v0.21.0 (teams) linux/amd64
2121
```
@@ -45,7 +45,7 @@ curl http://localhost:8080/api/v1/status | jq .edition
4545
```bash
4646
# Run tests (both editions)
4747
go test ./internal/... -v # personal (default)
48-
go test -tags teams ./internal/... -v # teams (includes teams tests)
48+
go test -tags server ./internal/... -v # teams (includes teams tests)
4949

5050
# Lint
5151
./scripts/run-linter.sh

specs/029-mcpproxy-teams/research.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Go Build Tags Pattern
44

5-
**Decision**: Use `//go:build teams` file-level tags to isolate teams-only code.
5+
**Decision**: Use `//go:build server` file-level tags to isolate teams-only code.
66

77
**Rationale**: Go build tags are the idiomatic way to compile different feature sets from the same codebase. The `init()` registration pattern allows teams packages to self-register without modifying shared code paths.
88

specs/029-mcpproxy-teams/spec.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,11 +224,11 @@ The proxy provides a web interface where users log in via their identity provide
224224
**Backward Compatibility**
225225

226226
- **FR-037**: When operating in personal mode (default), the system MUST behave identically to the current single-user version with no team features active.
227-
- **FR-038**: The system MUST be built as a separate binary from the personal edition using Go build tags (`-tags teams`), from the same repository and `cmd/mcpproxy` entry point.
227+
- **FR-038**: The system MUST be built as a separate binary from the personal edition using Go build tags (`-tags server`), from the same repository and `cmd/mcpproxy` entry point.
228228

229229
**Build & Distribution**
230230

231-
- **FR-039**: The personal edition MUST be the default build output (`go build ./cmd/mcpproxy`). The teams edition MUST require an explicit build tag (`go build -tags teams ./cmd/mcpproxy`).
231+
- **FR-039**: The personal edition MUST be the default build output (`go build ./cmd/mcpproxy`). The teams edition MUST require an explicit build tag (`go build -tags server ./cmd/mcpproxy`).
232232
- **FR-040**: The teams edition MUST be distributed as a Docker image (`ghcr.io/smart-mcp-proxy/mcpproxy-teams`), a `.deb` package for Ubuntu/Debian, and a Linux binary tarball.
233233
- **FR-041**: The personal edition MUST be distributed as macOS DMG installer (with native Swift tray app), Windows MSI/EXE installer (with native C# tray app), Linux binary tarball, and via Homebrew.
234234
- **FR-042**: Both editions MUST be released under a single GitHub release tag (e.g., `v0.21.0`) with assets clearly named by edition (`mcpproxy-*` for personal, `mcpproxy-teams-*` for teams).
@@ -272,7 +272,7 @@ The proxy provides a web interface where users log in via their identity provide
272272
- Agent token maximum per user follows the same limit as the personal edition (10 tokens per user).
273273
- Admin designation is static per configuration (email list or IdP claim) — there is no in-app role assignment UI in v1.
274274
- Server template definitions are static (shipped with the binary + admin-defined in config) — there is no template marketplace or community sharing.
275-
- Both editions are built from the same repository (`mcpproxy-go`) using Go build tags. Teams-only code lives in `internal/serveredition/` with `//go:build teams` guards. No `pkg/` migration is needed.
275+
- Both editions are built from the same repository (`mcpproxy-go`) using Go build tags. Teams-only code lives in `internal/serveredition/` with `//go:build server` guards. No `pkg/` migration is needed.
276276
- Data retention for activity logs follows the same policy as the personal edition — configurable, with no default auto-purge.
277277

278278
## Scope Boundaries
@@ -291,7 +291,7 @@ The proxy provides a web interface where users log in via their identity provide
291291
- Activity log with user identity and filtering
292292
- Web UI: login, dashboard, admin panel
293293
- Backward-compatible personal mode
294-
- Same-repo build tag architecture (`-tags teams`)
294+
- Same-repo build tag architecture (`-tags server`)
295295
- Single GitHub release with labeled assets per edition
296296
- Docker image and deb package for teams distribution
297297
- Native tray apps: Swift (macOS), C# (Windows) for personal distribution

0 commit comments

Comments
 (0)