From 438c90acb5a401b705b7c5854f3fc3b0b57a76c8 Mon Sep 17 00:00:00 2001 From: John Alanbrook Date: Tue, 6 Jan 2026 20:31:49 -0600 Subject: [PATCH] ignore --- .gitignore | 1 + CLAUDE.md | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 CLAUDE.md diff --git a/.gitignore b/.gitignore index a1e6b8c0..8b90ed00 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .git/ .obj/ +website/ bin/ build/ *.zip diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..94ababe6 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,25 @@ +# Code style +All code is done with 2 spaces for indentation. + +For cell script and its integration files, objects are preferred over classes, and preferrably limited use of prototypes, make objects sendable between actors (.ce files). + +## cell script format +Cell script files end in .ce or .cm. Cell script is similar to Javascript but with some differences. + +Variables are delcared with 'var'. Var behaves like let. +Constants are declared with 'def'. +!= and == are strict, there is no !== or ===. +There is no undefined, only null. +There are no classes, only objects and prototypes. +Prefer backticks for string interpolation. Otherwise, convering non strings with the text() function is required. +Everything should be lowercase. + +There are no arraybuffers, only blobs, which work with bits. They must be stoned like stone(blob) before being read from. + +## c format +For cell script integration files, everything should be declared static that can be. Most don't have headers at all. Files in a package are not shared between packages. + +There is no undefined, so JS_IsNull and JS_NULL should be used only. + +## how module loading is done in cell script +Within a package, a c file, if using the correct macros (CELL_USE_FUNCS etc), will be loaded as a module with its name; so png.c inside ac package is loaded as /png, giving you access to its functions. \ No newline at end of file