-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy path.gitignore
More file actions
129 lines (113 loc) · 5 KB
/
Copy path.gitignore
File metadata and controls
129 lines (113 loc) · 5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Please take extra care not to add rules that will make tracked files ignored.
# To test that, run `git ls-files -i --exclude-standard`.
# To check why a specific file is ignored, run `git check-ignore -v <filepath>`.
# === Dotfiles ===
# Ignore all dotfiles and dot-dirs by default; allow only what we explicitly track.
.*
!.gitignore
!.gitkeep
!.gitattributes
!.gitmodules
!.vercelignore
!.worktreeinclude
!.github/
# nub-native is its own Cargo workspace; its .cargo/config.toml routes build
# output into the shared root target/. It is a tracked, load-bearing dotfile the
# broad `.*` rule above would otherwise hide — without it a fresh checkout would
# write the addon to crates/nub-native/target/ and the Makefile/CI copy paths
# (target/<profile>/libnub_native.*) would miss it.
!crates/nub-native/.cargo/
!crates/nub-native/.cargo/config.toml
# Vendored aube is plain in-tree files (Pattern B) — track its ENTIRE tree,
# including dot-prefixed entries the broad `.*` rule above would otherwise hide
# (.rules, .cargo/, .buildkite/, docs/.vitepress/, fixtures/.yarn/...). Without
# this, an aube dotfile edit would be silently dropped from `git add vendor/aube`.
!vendor/aube/**
# Agent tooling: tracked in git. Only nested git worktrees stay out (they're checkouts, not files git can commit).
!.claude/
!.agents/
!.githooks/
!.opencode/
!.opencode/opencode.json
!.opencode/agent/
!.opencode/agent/*.md
!.opencode/skills/
!.opencode/skills/opencode-fray/
!.opencode/skills/opencode-fray/SKILL.md
!.opencode/plugins/
!.opencode/plugins/fray.ts
!.opencode/fray/
!.opencode/fray/core.mjs
!.opencode/fray/index.mjs
!.opencode/commands/
!.opencode/commands/fray.md
!.opencode/commands/fray-validate.md
.opencode/node_modules/
.opencode/bun.lock
.claude/worktrees/
# fray control surface (board + thread files): LOCAL ONLY — never published. It
# holds internal orchestration + competitive/strategy deliberation, and the repo
# is PUBLIC. .fray/ is a dot-dir caught by the broad `.*` ignore above, so it
# needs no rule here — do NOT re-add `!.fray/` negations (that re-publishes it).
# Kept on disk for the local fray tooling; same regime as wiki/ and epics/ below.
# === Global cruft ===
*.pyc
__pycache__/
.DS_Store
*~
# === Build / IDE artifacts ===
/target/
# nub-native is its own Cargo workspace; its build output is routed into the root
# /target/ above (via crates/nub-native/.cargo/config.toml), but guard against a
# stray local target/ if it's ever built without that routing.
/crates/nub-native/target/
# nub-phantom is its own Cargo workspace too (eval tool, built on demand); its
# default target/ lands in-tree.
/crates/nub-phantom/target/
/dist/
/build/
/coverage/
node_modules/
*.log
*.swp
compile_commands.json
runtime/addons/*.node
# tests/node-suite is a registered git submodule (see .gitmodules), not ignored content. Git manages its working tree across the submodule boundary and the gitlink is committed (mode 160000), so an ignore rule here only contradicts .gitmodules and risks confusing `git submodule update` / `actions/checkout` in CI. Test-run artifacts that land inside it surface as the submodule's own "untracked content" and never leak into this repo's index.
# npm platform packages (built artifacts). The single-binary build embeds the
# runtime in the binary, so platform packages ship only bin/ — no per-package
# runtime/ is produced anymore. The repo's own runtime/ (staged into the binary
# at build time) is covered by the node_modules/ + runtime/addons/*.node rules above.
npm/nub-*/bin/
npm/nub/*.tgz
npm/nub-*/*.tgz
# nub's localStorage/cache leaking into cwd as `0/<node-version>-<arch>-…` when
# XDG_CACHE_HOME is unset and the store path resolves relative (a real nub bug —
# the cache should always live under ~/.cache/nub). Ignore the stray dirs until
# the path resolution is fixed.
0/
# Test fixture — needed by the env-loading integration tests (the broad .* rule above hides it)
!tests/fixtures/env-test/.env
# === Internal design corpus & implementation ledgers ===
# Kept on disk (and in the Desktop backup) but NOT published to the public repo:
# roadmap, competitive research, design plans, per-version epics. Agents working
# from a full local checkout still have them; the public repo does not.
wiki/
epics/
# Maintainer-local agent-orientation overlay + its Claude Code loader. Neither
# starts with a dot, so the broad `.*` rule above does not catch them. AGENTS.local.md
# holds maintainer-specific orientation moved out of the public AGENTS.md;
# CLAUDE.local.md is the gitignored loader that imports it (@AGENTS.local.md).
AGENTS.local.md
CLAUDE.local.md
.vercel
# isolated build/test worktrees (scripts/worktree.sh)
/.worktrees/
# Benchmark results doc — measured numbers (date/machine/load-specific). Kept on
# disk for reference but never committed; regenerate via tests/bench/run-*.sh.
tests/bench/RESULTS.md
/bun.lockb
.claude/jobs/
# fray orchestration runtime — local-only, never tracked (internal deliberation; PUBLIC repo)
.fray/
# local-only design corpus (symlink to external dir) — never tracked
wiki