mirror of
https://github.com/chenhg5/cc-connect.git
synced 2026-10-25 17:36:43 +08:00
getOrCreateWorkspaceAgent built the per-workspace session file as
filepath.Join(filepath.Dir(e.sessions.StorePath()), ...). With no store
path configured — which is how every engine in the test suite is built —
filepath.Dir("") is ".", so the path collapsed to a bare relative
"<engine>_ws_<hash>.json" and the session manager wrote it into the
process working directory. That is what littered core/ with test_ws_*.json
during `go test ./core/`.
An empty store path already means "no persistence" everywhere else in the
session manager (saveLocked returns early), so it now means the same here:
the workspace manager is built unpersisted instead of inventing a path.
A configured store path still derives the workspace file beside it, as
before.
Regressions: an engine without a store path yields a workspace manager
whose StorePath() is empty, and a configured one still derives
test_ws_<hash>.json in the store's directory.
Also ignores the stale files contributors already have on disk.
Co-authored-by: Claude Code <noreply@anthropic.com>
163 lines
3.8 KiB
Plaintext
163 lines
3.8 KiB
Plaintext
# ============================================================================
|
|
# Binary outputs
|
|
# ============================================================================
|
|
/cc-connect
|
|
cc-connect.bak-*
|
|
*.exe
|
|
*.exe~
|
|
*.dll
|
|
*.so
|
|
*.dylib
|
|
*.test
|
|
*.out
|
|
*.old
|
|
|
|
# ============================================================================
|
|
# Go workspace & tooling
|
|
# ============================================================================
|
|
# Test binary, built with `go test -c`
|
|
*.test
|
|
|
|
# Output of the go coverage tool
|
|
coverage.html
|
|
coverage.txt
|
|
*.out
|
|
|
|
# Go workspace files (go.work)
|
|
go.work
|
|
go.work.sum
|
|
|
|
# Go module environment (local proxy settings)
|
|
go.env
|
|
|
|
# Dependency directories
|
|
vendor/
|
|
|
|
# ============================================================================
|
|
# Project-specific
|
|
# ============================================================================
|
|
# Runtime configuration (contains secrets)
|
|
config.toml
|
|
config.*.toml
|
|
!config.example.toml
|
|
.env
|
|
*.local.toml
|
|
|
|
# Instance lock files (created at startup, released on shutdown)
|
|
*.toml.lock
|
|
|
|
# CC-Connect runtime state
|
|
.cc-connect/
|
|
|
|
# npm / pnpm (for npm package distribution and web admin)
|
|
.npmrc
|
|
package-lock.json
|
|
node_modules/
|
|
.vite/
|
|
|
|
# ============================================================================
|
|
# Build & distribution
|
|
# ============================================================================
|
|
dist/
|
|
build/
|
|
bin/
|
|
release/
|
|
# Keep web/dist directory (for embedded admin UI) but ignore build artifacts
|
|
web/dist/*
|
|
!web/dist/.keep
|
|
# TypeScript incremental build cache — generated locally, should not be committed
|
|
web/tsconfig.tsbuildinfo
|
|
|
|
# ============================================================================
|
|
# Testing & temporary files
|
|
# ============================================================================
|
|
test/
|
|
scripts/
|
|
tmp/
|
|
temp/
|
|
*.tmp
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
*.pid
|
|
*.log
|
|
|
|
# Per-workspace session stores (<engine>_ws_<hash>.json, see
|
|
# Engine.getOrCreateWorkspaceAgent). They are derived from the engine's own
|
|
# session store, so they belong next to it — never in the working tree. This
|
|
# is a guard for files already on disk from before that derivation was
|
|
# corrected; the derivation itself no longer produces them.
|
|
*_ws_????????.json
|
|
|
|
# ============================================================================
|
|
# IDE & Editor
|
|
# ============================================================================
|
|
.vscode/
|
|
.idea/
|
|
*.iml
|
|
*.ipr
|
|
*.iws
|
|
.vs/
|
|
*.suo
|
|
*.user
|
|
*.userosscache
|
|
*.sln.docstates
|
|
|
|
# Emacs
|
|
*~
|
|
\#*\#
|
|
.\#*
|
|
|
|
# Vim
|
|
*.swp
|
|
*.swo
|
|
*.swn
|
|
|
|
# macOS
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
|
|
# ============================================================================
|
|
# Documentation (drafts)
|
|
# ============================================================================
|
|
RELEASE.md
|
|
DRAFTS.md
|
|
NOTES.md
|
|
|
|
# ============================================================================
|
|
# System
|
|
# ============================================================================
|
|
# Thumbs.db on Windows
|
|
Thumbs.db
|
|
ehthumbs.db
|
|
Desktop.ini
|
|
|
|
# ============================================================================
|
|
# AI agent planning artifacts
|
|
# ============================================================================
|
|
.planning/
|
|
|
|
# ============================================================================
|
|
# Local git worktrees
|
|
# ============================================================================
|
|
# Convention: ad-hoc worktrees created with
|
|
# git worktree add .worktrees/<task-name> origin/<branch>
|
|
# are local-only scratch directories used by multiple agents (qa, dev, release)
|
|
# for parallel branch work. They must never be committed.
|
|
.worktrees/
|
|
|
|
# ============================================================================
|
|
# Security
|
|
# ============================================================================
|
|
# Never commit secrets or credentials
|
|
*.key
|
|
*.pem
|
|
*.p12
|
|
*.pfx
|
|
secrets/
|
|
credentials/
|
|
|
|
.codex
|
|
cc-connect-new
|