Maintain clear code organization by placing code in appropriate files, directories, and modules. Respect module boundaries and create logical directory structures that reflect the code’s purpose and domain.
Key principles:
StagehandInitResult
to types/evals.ts
)lib/a11y
for accessibility utilities)dist
, not lib
)prompts.ts
)Example of proper organization:
// Before: accessibility functions mixed in handlers
// lib/handlers/observeHandler.ts
type AccessibilityNode = { ... }
function formatSimplifiedTree() { ... }
// After: dedicated accessibility module
// lib/a11y/utils.ts
type AccessibilityNode = { ... }
function formatSimplifiedTree() { ... }
This approach improves code discoverability, reduces coupling between modules, and makes the codebase easier to navigate and maintain.
Enter the URL of a public GitHub repository