2.4 KiB
linkport collaboration
Work ownership
- Agree on file ownership before concurrent edits. Shared files include
web/src/react/App.tsx,internal/api/server.go,internal/model/proxy.go,go.mod, andgo.sum. - Assign independent features by directory or module. Protocol implementations belong in
internal/protocol/<protocol>, outbound transports ininternal/outbound, persistence ininternal/store, and HTTP endpoints ininternal/api. - Keep endpoint behavior in domain files (
targets.go,proxies.go,commands.go,events.go). Keepserver.gofocused on server state, middleware, and routing. - Put independent frontend state in React hooks and reusable views in separate React components under
web/src/react.App.tsxowns navigation and coordinates shared state. Use Ant Design components and their default theme; keep application CSS limited to layout. - Announce shared-file handoffs. Read the current file before editing; preserve changes made by other agents. Do not restore entire files or stage unrelated work.
- Keep behavior-preserving moves separate from feature changes where possible. Update imports and run the affected package checks after each move.
Validation
-
Document every behavior change with its reason, resulting behavior, affected scope, compatibility or migration impact, and actual validation. Keep the relevant feature document and
docs/change-rationale.mdcurrent in the same commit; do not leave the rationale only in chat or commit messages. -
Use Go 1.27.1 (
GOTOOLCHAIN=go1.27.1), matching the current dependencies and build scripts. -
Backend:
go test ./... -count=1 -timeout=120sandgo vet ./.... -
Frontend:
npm.cmd --prefix web run build. Run the Playwright suite inwebagainst a freshly built executable usingLINKPORT_E2E_BINARY. -
Do not build embedded Go assets while Vite is replacing
web/dist. Restore trackedweb/dist/.gitkeepafter a frontend build if needed. -
Describe whether protocol tests used a real server or a fixture; do not present fixture coverage as live-server validation.
Local data
- Preserve
data/linkport.sqlite,data/audit, TLS material, anddata/master-key.dpapi. - Stop the owned local service and back up the complete
datadirectory before deploying a migration. Do not modify real target data for smoke tests. - Use isolated test databases and ports. Do not start subagents unless the user has enabled them for the active work.