Skip to content

feat(init): Add interactive prompts for ao init command#32

Merged
Shooksie merged 1 commit intomainfrom
ao/task-206
Mar 23, 2026
Merged

feat(init): Add interactive prompts for ao init command#32
Shooksie merged 1 commit intomainfrom
ao/task-206

Conversation

@Shooksie
Copy link
Copy Markdown
Contributor

Add interactive TTY prompts when running ao init without options:

  • Project type confirmation with confidence display
  • Template selection with arrow-key navigation
  • Output directory selection with path validation
  • Confirmation before overwriting existing files

Interactive mode is automatically enabled in TTY environments and
can be disabled with --yes flag for non-interactive/script usage.

Also update ESLint config to handle caughtErrors and destructured
array ignore patterns for unused variables.

Add interactive TTY prompts when running ao init without options:
- Project type confirmation with confidence display
- Template selection with arrow-key navigation
- Output directory selection with path validation
- Confirmation before overwriting existing files

Interactive mode is automatically enabled in TTY environments and
can be disabled with --yes flag for non-interactive/script usage.

Also update ESLint config to handle caughtErrors and destructured
array ignore patterns for unused variables.
@Shooksie Shooksie merged commit 729ba4b into main Mar 23, 2026
0 of 18 checks passed
@Shooksie
Copy link
Copy Markdown
Contributor Author

PR Review Summary

Status: Changes requested - 1 blocking lint error

CI Status

  • ✗ Lint: FAILURE (1 error)
  • ✓ Type Check: PASSED
  • ✓ Build: PASSED
  • ✓ Tests: 246/246 PASSED

Blocking Issue

File: src/utils/prompts.ts line 132

validate?: (_value: string) => boolean | string;

Error: '_value' is defined but never used (no-unused-vars)

The ESLint rule varsIgnorePattern: '^_' added in this PR doesn't apply to parameters in type definitions. Please add an eslint-disable comment:

// eslint-disable-next-line @typescript-eslint/no-unused-vars
validate?: (_value: string) => boolean | string;

What's Working Well

  • TypeScript types are correct
  • All new exports are properly typed
  • Tests pass
  • Code quality is good

Once this lint error is fixed, the PR looks ready to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant