Skip to content

Feature/cli#5

Draft
cchirag wants to merge 3 commits into
NV404:mainfrom
cchirag:feature/cli
Draft

Feature/cli#5
cchirag wants to merge 3 commits into
NV404:mainfrom
cchirag:feature/cli

Conversation

@cchirag
Copy link
Copy Markdown

@cchirag cchirag commented Apr 28, 2026

Overhauled CLI, introduced gova.json, and unified build/run internals

This PR marks a significant shift in how Gova works, moving from a flag-heavy CLI to a centralised, file-driven configuration model.

gova.json

Introduces a new init command that scaffolds a gova.json file in the project root, similar in spirit to pubspec.yaml. All commands now depend on this file, making project configuration reproducible, portable, and consistent across systems.

Modes

gova.json supports named build modes (e.g. dev, prod). Each mode carries its own build flags, environment variables, and env files, giving fine-grained control over the build process per environment. All commands (build, run, dev) accept a --mode flag that defaults to gova-dev, injected at parse time.

Builder and runner

Extracted dedicated build and run methods that are shared across commands, replacing the earlier ad-hoc CLI implementation with something more consistent and testable.

File watcher

gova.json supports an ignore field accepting paths and glob patterns. This prevents watching output directories and other non-essential paths, avoiding infinite rebuild loops.

CLI

Hardened the overall CLI implementation to be more robust and less flaky compared to the previous approach.


Keeping this a learning project, AI was used solely for generating package and function documentation. All logic is human written.


@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 28, 2026

@cchirag is attempting to deploy a commit to the Naman's projects Team on Vercel.

A member of the Team first needs to authorize it.

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