Skip to content

feat: add Voltra CLI apply pipeline for React Native projects#163

Merged
V3RON merged 37 commits into
mainfrom
feat/voltra-cli
May 29, 2026
Merged

feat: add Voltra CLI apply pipeline for React Native projects#163
V3RON merged 37 commits into
mainfrom
feat/voltra-cli

Conversation

@V3RON
Copy link
Copy Markdown
Contributor

@V3RON V3RON commented May 28, 2026

Summary

This PR brings a full-fledged Voltra CLI for React Native CLI projects.

It lets Voltra apply native changes automatically across Android and iOS, including both mutation of existing native files and creation of new generated files.

What's included

  • scaffold the voltra CLI package and config loading pipeline
  • add apply orchestration, preflight checks, git worktree safety checks, and state tracking
  • add Android project discovery, manifest mutation, and generated file writing
  • add iOS project discovery, plist, entitlements, Podfile, and Xcode project/target mutation
  • add CLI reporting, usage docs, and the Clack-based apply UX for intros, warnings, prompts, and errors

Validation

  • npm run build --workspace voltra
  • npm run typecheck --workspace voltra
  • npm run lint --workspace voltra


function sanitizeBundleIdentifierSegment(targetName: string): string {
const sanitized = targetName.replace(/[^A-Za-z0-9-]/g, '-')
return sanitized.replace(/-+/g, '-').replace(/^-+|-+$/g, '')
V3RON added 7 commits May 29, 2026 08:42
Load platform render packages from the app project at runtime and preflight configured platforms with clear missing-package errors.
Validate Android widget dimensions before generating native XML, require client packages during platform preflight, and avoid double escaping iOS localized widget defaults.
@V3RON V3RON merged commit 670c373 into main May 29, 2026
10 of 12 checks passed
@V3RON V3RON deleted the feat/voltra-cli branch May 29, 2026 10:15
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