To create cellular automata, you need
state, state machines, statecharts. Cellular automata preserve the state of the system, then query the state to compute the next state of the system. A programming notation that doesn't off-hand assert that "state is bad" and that doesn't discard "ordering" and doesn't discard "the arrow of time" would make your life simpler, but that obviates just about every known programming language.
Rule-based, linear-logic languages like Ceptre and Nova might be of interest.
Harel created
Statecharts many decades ago. Xstate, Stately, come to mind, but I haven't used them.
LLM prompts like "What kind of logic is used by the programming language Ceptre?" might produce useful hints.
Maybe delving into how spreadsheets work might give some hints.
[You
can use existing programming languages to encode state and to manipulate state, but you have to find suitable workarounds and algorithms that use more politically correct terminology].