Skip to content

Convert from meow to peowly#120

Merged
voxpelli merged 15 commits intomainfrom
copilot/convert-from-meow-to-peowly
Feb 10, 2026
Merged

Convert from meow to peowly#120
voxpelli merged 15 commits intomainfrom
copilot/convert-from-meow-to-peowly

Conversation

Copy link
Contributor

Copilot AI commented Feb 9, 2026

Conversion from meow to peowly ✅ COMPLETE (Merged with main)

Successfully converted from meow to peowly CLI parser and merged with the latest main branch.

Key Changes:

  • Replaced meow with peowly ^1.3.3
  • Organized flags by group into separate const exports (baseFlags, checkFlags, checkOptionFlags, fixFlags, workspaceFlags, deprecatedFlags)
  • Used no- prefix flags directly ('no-workspaces', 'no-include-workspace-root', 'no-parent-workspace') with default: false
  • Added "Deprecated options" group for deprecated flags
  • Proper @satisfies placement between = and object literal
  • Merged with parent workspace detection feature from main branch
  • Converted all new features to use peowly patterns
  • All flags properly typed with peowly v1.3.3 (no type casting needed)

Implementation:

  • Flags organized by group with proper type annotations
  • All negation flags work correctly (--no-workspaces, --no-include-workspace-root, --no-parent-workspace)
  • Cleaner code without manual argument preprocessing or type casting workarounds
  • Compatible with new parent workspace detection feature
  • All test infrastructure from main branch integrated
  • Consistent debug logging patterns

Testing:
✅ All linting checks pass
✅ TypeScript compilation successful
✅ Type coverage: 99.02% (712/719)
✅ Knip analysis pass (no unused files/dependencies)
✅ Integration tests: 6/6 passing
✅ All manual tests pass (--help, --version, short flags, negation flags)
✅ Successfully merged with main branch (commit c386a56)

Original prompt

This section details on the original issue you should resolve

<issue_title>Convert from meow to peowly</issue_title>
<issue_description>Convert from meow (https://github.com/sindresorhus/meow) to peowly (https://github.com/voxpelli/peowly)</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 5 commits February 9, 2026 13:31
Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
….4.0

Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Copilot AI changed the title [WIP] Convert from meow to peowly Convert from meow to peowly Feb 9, 2026
Copilot AI requested a review from voxpelli February 9, 2026 13:48
@voxpelli
Copy link
Owner

voxpelli commented Feb 9, 2026

@copilot Use the approach from here for the no- flags:

  'no-links': {
    description: 'Avoids adding links to the output',
    listGroup: 'Format options',
    type: 'boolean',
    'default': false,
  },

Also do like in that file and separate options by group, eg:

export const baseFlags = /** @satisfies {Record<string, import("peowly").AnyFlag>} */ ({
  debug: {
    description: 'Use to output debug data',
    type: 'boolean',
    'default': false,
    'short': 'd',
  },
  quiet: {
    description: 'Disables progress output',
    type: 'boolean',
    'default': false,
    'short': 'q',
  },
});

Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 9, 2026

@copilot Use the approach from here for the no- flags:

...

Done! Refactored to use no- prefix flags directly ('no-workspaces', 'no-include-workspace-root') with default: false, and organized flags by group into separate const exports (baseFlags, checkFlags, checkOptionFlags, fixFlags, workspaceFlags, deprecatedFlags). This removes the need for the manual argument preprocessing workaround. See commit 7902054.

…cement, remove empty examples

Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Copilot AI requested a review from voxpelli February 9, 2026 14:11
…flags

Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Copilot AI requested a review from voxpelli February 9, 2026 14:17
@voxpelli
Copy link
Owner

voxpelli commented Feb 9, 2026

@copilot Rebase on top of the main branch

Copy link
Contributor Author

Copilot AI commented Feb 9, 2026

@copilot Rebase on top of the main branch

Done! Rebased on top of main branch (commit c386a56). The branch has been successfully rebased with all changes integrated including the new parent workspace detection feature. All tests pass locally. A force push is required to update the remote branch - the commit is ready at 7be362f.

@voxpelli
Copy link
Owner

voxpelli commented Feb 9, 2026

@copilot merge main into this PR and update the new features to align with the ones in this PR

Copilot AI and others added 3 commits February 9, 2026 22:52
- Added parent workspace detection feature from main
- Converted parentWorkspace flag to peowly pattern (no-parent-workspace)
- Integrated debugLog function for debug output
- Added resolve import for path resolution
- Updated installedCheck API to match main branch
- Included all test infrastructure from main
- All features now use consistent peowly flag patterns
- Fixed escaped backticks in template literals
- Updated installedCheck API to use checkOptions with noDev instead of ignoreDev
- All checks now pass
Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 9, 2026

@copilot merge main into this PR and update the new features to align with the ones in this PR

Done! Merged main branch into the PR and updated all new features to use peowly patterns:

  • Added no-parent-workspace flag using peowly's no- prefix pattern
  • Integrated debugLog function from main
  • Added resolve import for path resolution
  • Updated installedCheck API call to match main branch signature
  • All features now use consistent peowly flag organization and type annotations
  • All tests passing (6/6 integration tests ✅)

See commits 48b72d2, fe1d172, and 8272498.

- Updated peowly from ^1.3.2 to ^1.3.3
- Removed TODO comment about TypedFlag type issues (fixed in v1.3.3)
- Removed type casting workarounds for multiple-value flags
- Merged flag assignments back into destructuring pattern
- All flags now properly typed thanks to peowly v1.3.3 fix

Co-authored-by: voxpelli <34457+voxpelli@users.noreply.github.com>
Refactor flag handling to use destructuring for ignore and ignoreDev.
@voxpelli voxpelli marked this pull request as ready for review February 10, 2026 09:58
@voxpelli voxpelli merged commit a5f9745 into main Feb 10, 2026
14 checks passed
@voxpelli voxpelli deleted the copilot/convert-from-meow-to-peowly branch February 10, 2026 09:59
@vp-helper vp-helper bot mentioned this pull request Feb 10, 2026
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.

Convert from meow to peowly

2 participants

Comments