Skip to content

refactor: flatten project structure for npm publishing#10

Merged
robertjbass merged 7 commits intomainfrom
dev
Jan 25, 2026
Merged

refactor: flatten project structure for npm publishing#10
robertjbass merged 7 commits intomainfrom
dev

Conversation

@robertjbass
Copy link
Copy Markdown
Owner

Summary

  • Flatten monorepo structure - move CLI to root level
  • Remove Vercel API package (not needed for CLI-only tool)
  • Add GitHub Actions for automatic npm publishing on merge to main
  • Update documentation for simplified structure
  • Bump version to 0.3.0

Changes

  • src/ now at root (was packages/cli/src/)
  • Removed packages/, pnpm-workspace.yaml, vercel.json
  • Added .github/workflows/version-check.yml - blocks PR if version not bumped
  • Added .github/workflows/publish.yml - publishes to npm on merge to main

Test plan

  • pnpm install succeeds
  • pnpm build succeeds
  • pnpm dev runs the CLI
  • OIDC trusted publisher configured on npmjs.com

- Add config.ts for cross-platform config directory handling
- Update db.ts to use ~/.lpgp/data.db instead of project-local storage
- Add migration from legacy location to new location
- Add keychain.ts for storing passphrases in system keychain (macOS Keychain, Windows Credential Manager, Linux libsecret)
- Add prompts.ts with global escape key handling for menu navigation
- Add cross-keychain dependency
- Add ui.ts with color palette, icons, and helper functions
- Define semantic colors (primary, success, warning, error, muted)
- Add colored icons for actions, navigation, and status
- Add banner, section header, and divider helpers
- Add standardized menu choice helpers (mainMenuChoice, backChoice, etc.)
- Update all menus with colored icons and consistent casing
- Add separators before and after navigation items on scrollable menus
- Integrate escape key handling for menu navigation
- Add keychain passphrase storage prompts in decrypt flow
- Reorder recipient selection (Someone else, Multiple, Myself)
- Use centralized UI helpers for all status messages and prompts
- Rename from @pgp/cli to lpgp
- Update bin command from pgp to lpgp
- Set version to 0.2.0
- Add author, license, files, and keywords fields
- Move @types/inquirer to devDependencies
- Move CLI source from packages/cli/src to root src/
- Remove monorepo structure (packages/, pnpm-workspace.yaml)
- Remove Vercel API package
- Add GitHub Actions for version check and auto-publish
- Update documentation for flat structure
- Configure OIDC trusted publishing for npm
@vercel
Copy link
Copy Markdown

vercel bot commented Jan 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
pgp Error Error Jan 25, 2026 9:47pm

@robertjbass robertjbass merged commit 99de55d into main Jan 25, 2026
3 of 4 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.

1 participant