- No CSS, HTML, macros, build flags, etc. Construct them imperatively in native code.
No Config
- Switches, addresses, hashes, application structure, all must be written in function calls, not keys in a config file.
No Build
- Can be started with its one file
Everything Is Module
- No dependencies implicit in filesystem, environment switches, build descriptors, etc. Modules must be written explicitly in code
Modules Are 150 Lines
- they’ll grow to 600 but they want to be 150
Imperative Is Best
- Pass data to procedures. Don't entire namespaces. Don't pass flags.
- Try not to have keys on object that stick around and affect different pieces of code at different times. As much as possible try to use objects in the same module that created them