Marketplace
Browse and adopt engineering standards, rules, and configurations. Fork to customize for your organization.
Use Phoenix for web applications
elixir
Phoenix for web apps. LiveView for interactive UIs without JavaScript. Channels for real-time. PubSub for broadcasting.
Use Phoenix LiveView for interactivity
elixir
LiveView for server-rendered reactive UIs. No JavaScript needed for most interactions. Use hooks for JS interop. Streams for large lists.
Use async/await over callbacks and .then()
javascript
async/await for all async code. Easier to read, proper try/catch, works with loops.
Use const and let, never var
javascript
`const` by default, `let` for reassignment. Never `var` (hoisting bugs).
Use TypeScript for all new projects
javascript
TypeScript, not JS. Enable `strict: true`, `noImplicitAny`, `strictNullChecks`.
Use Jest for JavaScript testing
testing
Jest for unit/integration tests. `describe`/`it` blocks. Mock with jest.mock(). Snapshot testing sparingly.
Use ESLint with strict configuration
javascript
ESLint + @typescript-eslint recommended rules. No `any`, no unused vars. Run in CI.
Use Importmap for Rails JavaScript
rails
Importmap for JS without bundling. Pin packages from CDN or vendor. Works with Hotwire. No node_modules.