Skip to content

Conversation

@pyramation
Copy link
Contributor

@pyramation pyramation commented Dec 26, 2025

feat: rename inquirerer to genomic and create @genomic packages

Summary

This PR renames the CLI library packages to use the @genomic scope and creates a new utilities package:

Package Renames:

  • inquirerergenomic (v3.0.0)
  • create-gen-app@genomic/scaffolds (v1.0.0)

New Package:

  • @genomic/utils (v1.0.0) - CLI lifecycle utilities extracted for reuse:
    • extractFirst() - command routing utility for extracting first positional arg
    • cliExitWithError() - error handling with optional beforeExit cleanup hook
    • checkForUpdates() - npm version checking with configurable registry and caching via appstash
    • getSelfPackageJson() / getSelfVersion() / getSelfName() - package.json resolution helpers

Other Changes:

  • Renamed Inquirerer class to Prompter (cleaner API: import { Prompter } from 'genomic')
  • Renamed InquirererOptions to PrompterOptions for consistency
  • Added "Formerly inquirerer" note to README with npm link
  • Updated all internal package references in create-gen-app-test

This is a BREAKING CHANGE with no backwards compatibility as requested.

Updates since last revision

  • Renamed class from GenomicPrompter (and GenomicOptionsPrompterOptions) for a cleaner public API
  • Added "Formerly inquirerer" note to genomic README
  • Fixed scaffolds and create-gen-app-test packages to use Prompter class name
  • Updated test snapshots to use Prompter in describe blocks
  • Changed variable naming convention: use const prompter = new Prompter() (not const genomic = ...)
  • Removed exports field from genomic package.json per user request

Review & Testing Checklist for Human

  • Verify class/variable rename completeness: Search for any remaining Genomic, genomic (as variable name), Inquirerer, or inquirerer references that may have been missed by the sed replacement
  • Review @genomic/utils implementation: The new utilities in packages/utils/src/ have no tests - verify checkForUpdates correctly uses appstash() API and getSelfPackageJson correctly imports from find-and-require-package-json
  • Check hardcoded version: In packages/create-gen-app-test/src/cli.ts lines 18-19, version is hardcoded as '1.0.0' - confirm this is acceptable vs dynamic resolution
  • Test package consumption: After merging, verify packages can be installed and imported correctly with new names (import { Prompter } from 'genomic')

Recommended Test Plan:

  1. Run pnpm build to verify all packages compile
  2. Run pnpm test to verify existing tests pass
  3. Create a test project that imports genomic, @genomic/scaffolds, and @genomic/utils to verify exports work
  4. Verify import { Prompter, PrompterOptions } from 'genomic' works correctly

Notes

This PR covers only the dev-utils repository. The constructive repository imports will need to be updated separately (see constructive#502).

Link to Devin run: https://app.devin.ai/sessions/e5018850caff45ce8a126331548d69bc
Requested by: Dan Lynch ([email protected]) / @pyramation

- Rename inquirerer package to genomic (v3.0.0)
- Rename create-gen-app package to @genomic/scaffolds (v1.0.0)
- Create new @genomic/utils package with CLI lifecycle utilities:
  - extractFirst: command routing utility
  - cliExitWithError: error handling with cleanup hooks
  - checkForUpdates: npm version checking with configurable registry
  - getSelfPackageJson: package.json resolution helpers
- Add test-utils subpath export to genomic package
- Update all internal references and dependencies
- Rename Inquirerer class to Genomic

BREAKING CHANGE: Package names have changed:
- inquirerer -> genomic
- create-gen-app -> @genomic/scaffolds
@devin-ai-integration
Copy link

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration bot pushed a commit to constructive-io/constructive that referenced this pull request Dec 26, 2025
- Update all imports from 'inquirerer' to 'genomic'
- Update all imports from 'create-gen-app' to '@genomic/scaffolds'
- Rename Inquirerer class references to Genomic
- Update package.json dependencies to use new package names:
  - inquirerer@^2.4.0 -> genomic@^3.0.0
  - create-gen-app@^0.10.0 -> @genomic/scaffolds@^1.0.0

BREAKING CHANGE: This PR depends on constructive-io/dev-utils#39 being merged
and the genomic packages being published to npm first.
- Replace 'inquirerer' with 'genomic' in test matrix
- Replace 'create-gen-app' with 'scaffolds' in test matrix
- Add 'utils' package to test matrix
- Update snapshot files to use 'Genomic' instead of 'Inquirerer'
- Add --passWithNoTests flag to utils package test script
- Rename Genomic -> Prompter throughout the codebase
- Rename GenomicOptions -> PrompterOptions for consistency
- Update test snapshots to use Prompter
- Add 'formerly inquirerer' note to README
- Update all code examples in README to use Prompter

This provides a cleaner API: import { Prompter } from 'genomic'
@pyramation pyramation merged commit 77be725 into main Dec 26, 2025
36 checks passed
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.

2 participants