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.
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