chore(repo): add .editorconfig, reconcile .gitignore, add x clean

Repository hygiene pass (issue #39):

- Add `.editorconfig` mirroring ludic-fmt: 2-space indent, LF, UTF-8, trim
  trailing whitespace and final newline by default; 4-space for Python
  tooling; keep trailing whitespace in Markdown (hard line breaks).
- Reconcile `.gitignore`: root-anchor `/build/` and `/out.ppm`, normalise the
  misleading `**.zip` glob to `*.zip`, and document that the Kenney art is
  tracked *extracted* while the download/plugin zips are local-only. `.idea`
  -> `.idea/`.
- Add a `bin/x clean` command that removes `build/`, the root `out.ppm`, and
  stray `bin/*.tmp`, keeping the toolchain binaries so the running `x`
  survives.

No generated artifacts land outside build/ or bin/, both of which are ignored.

Closes #39

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-08-30 16:46:10 +03:00
parent 9ae69e64b4
commit 1c9235a948
4 changed files with 49 additions and 4 deletions

22
.editorconfig Normal file
View file

@ -0,0 +1,22 @@
# EditorConfig — machine-enforced formatting conventions for the Ludic repo.
# Mirrors ludic-fmt (tools/ludic-tools/fmt.ludic), which re-indents with a
# 2-space unit and normalises to LF/UTF-8. https://editorconfig.org
root = true
# Ludic is the primary language; 2-space indent, LF, UTF-8, no trailing
# whitespace, and a final newline everywhere by default.
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
# The docgen/asset tooling is Python — PEP 8's 4-space indent.
[*.py]
indent_size = 4
# Markdown uses two trailing spaces as a hard line break; keep them.
[*.md]
trim_trailing_whitespace = false