summaryrefslogtreecommitdiffhomepage
path: root/.gitignore
blob: cf20c643b95f1317f8f93d9c594e6afaf88b569f (plain)
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
# Deny everything, then whitelist what belongs in the repository.
#
# The practice is deliberate: a repository should hold what was decided to
# put in it, not whatever happened to be in the directory when someone ran
# "git add .". Build output, editor droppings, downloaded dependencies and
# exported binaries are numerous, are regenerated, and differ between
# machines; source is few and is chosen. So the default is no, and every
# yes below is a decision that can be read.
#
# To see what is being excluded, and why:
#   git status --ignored
#   git check-ignore -v <path>
#   git ls-files --others --ignored --exclude-standard --directory

*

# ── the repository itself ────────────────────────────────────────────────
!.gitignore
!README.md
!**/COPYRIGHT
!**/LICENSE

# ── directories have to be walked into before a file inside can match ────
!gleam/
!dlang/
!org/
!gleam/**/
!dlang/**/
!org/**/
!pipeline/
# but not these, whatever they contain
build/
.build/
.direnv/
.gleam/
bin/
result
result-*

# ── documentation and notes, in any language directory ───────────────────
!**/*.md
!**/*.org

# ── nix ──────────────────────────────────────────────────────────────────
!**/*.nix
!**/flake.lock
!**/.envrc

# ── dlang ────────────────────────────────────────────────────────────────
!**/*.d
!**/dub.json
!**/dub.sdl
!**/dub.selections.json
*.o
*.a
*.lst

# ── gleam ────────────────────────────────────────────────────────────────
!**/*.gleam
# Erlang, for what Gleam reaches through FFI (a sha256, from OTP crypto)
!**/src/*.erl
# gleam.toml is the manifest, manifest.toml is the lockfile: both belong
!**/*.toml
*.beam
*.ez
erl_crash.dump

# ── ruby, when it arrives ────────────────────────────────────────────────
!**/*.rb
!**/Gemfile
!**/Gemfile.lock
!**/*.gemspec

# ── continuous integration ───────────────────────────────────────────────
!**/*.sh
!**/*.yml
!**/*.yaml