The artifact projector only registered write/edit. Everything bash produced — build artifacts, files written via shell redirection, git commits, generated code — stayed invisible to the desktop UI and the audit layer. Filesystem truth and UI truth were systematically out of sync. This lifts bash onto the same filesystem artifact protocol as write/edit. When a bash tool call succeeds in a git workspace, the projector runs `git status --porcelain=v1 -z --untracked-files=all` and upserts a work_products row for every modified/untracked entry, reusing the existing `(companyId, provider='filesystem', externalId)` identity so repeated edits never duplicate. Non-git workspaces fall through with an explicit "not_a_git_repo" skip reason — there is no authoritative baseline there to diff against, and silently half-registering would be worse than skipping. A 50-file cap per invocation bounds the scan so a runaway rebuild cannot flood the table; anything past the cap is logged as a skip. Rename entries (emitted as `R new\0old`) advance the iterator past the old-path entry so deletions of the rename source are not double-registered. The projector now always returns an array so `write`/`edit` (one path) and `bash` (many paths) share one shape, and the hook handler can log uniform outcomes. .gitignore gains `AgentCompany-Rust/` — the separate Rust rewrite tree lives in the same repo root but is not part of the desktop app build and should not drift into feature commits.
85 lines
1.1 KiB
Plaintext
85 lines
1.1 KiB
Plaintext
# Dependencies
|
|
node_modules/
|
|
|
|
# Build outputs
|
|
out/
|
|
mac-arm64/
|
|
dist/
|
|
coverage/
|
|
*.tsbuildinfo
|
|
win-unpacked
|
|
.blockmap
|
|
.claude
|
|
/build
|
|
.omc
|
|
.omx
|
|
.planning/*
|
|
!.planning/**/
|
|
paperclip-reference
|
|
Reference
|
|
.pnpm-store
|
|
# Test artifacts
|
|
test-results/
|
|
playwright-report/
|
|
|
|
# Signing certificates (NEVER commit these)
|
|
*.p12
|
|
*.cer
|
|
*.pem
|
|
*.key
|
|
*.p8
|
|
*.csr
|
|
*.certSigningRequest
|
|
*.provisionprofile
|
|
*.mobileprovision
|
|
|
|
# Environment files
|
|
.env
|
|
.env.*
|
|
.env.local
|
|
.env.*.local
|
|
!.env.example
|
|
!.env.release.example
|
|
|
|
# Editor and OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
.idea/
|
|
.vscode/
|
|
|
|
# Local reference material
|
|
oldreference/
|
|
|
|
# Future rewrite — not part of the TypeScript app tree.
|
|
AgentCompany-Rust/
|
|
|
|
# Markdown docs
|
|
*.md
|
|
!/README.md
|
|
!/docs/*.md
|
|
!/CLAUDE.md
|
|
!/.planning/**/*.md
|
|
!/src/main/prompt-builder/**/*.md
|
|
*.zip
|
|
*.blockmap
|
|
*.exe
|
|
|
|
# Local design scratch files
|
|
homepagedesign.html
|
|
|
|
# Landing page is part of the repo and should be versioned
|
|
|
|
# Boss edition build (contains credentials — never commit)
|
|
boss-build/
|
|
|
|
# Package manager logs
|
|
npm-debug.log*
|
|
pnpm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
local-release/
|
|
.omx/
|
|
|
|
# Runtime state (written by app at runtime)
|
|
state/
|