Get involved
Suppose that you need it to work in a particular way that might not be intuitive for everyone, you can always make it a feature that is off by default with a configuration choice.
File feature requests and bug reports
Number one thing to do is to engage in a discussion: https://github.com/peterbe/gg2/issues
Local dev
You need Bun and just. And git of course.
Get started with:
bun installYou can run any command with:
bun run src/index.tsfor example,
bun run src/index.ts --helpor, to run the configuration
bun run src/index.ts configureAnother practical way is to run just build which will generate a new ./out/gg executable. You can symlink to make this executable the one you're using. For example:
just build
ln -s out/gg ~/bin/gg2
which gg2
gg2 --helpOnce you've set that up, you can use just dev, which continually builds a new ./out/gg. That way, you can have two terminals open side by side (building on the instructions about symlink above). In one terminal:
just devIn another terminal:
gg2 --helpThis way, as soon as you save a change to a .ts file, it becomes immediately usable in your executable.
Testing and linting
All code formatting is automated and entirely handled by biome. To lint and format run:
just formatIf it fails, it probably means you need to manually address something.
To test, best is to run just build but to run the (limited) end-to-end tests, run:
just testDocumentation
To update the documentation (this!), you can run:
just docs-devand open http://localhost:5173/ which reloads automatically when you edit the .md files.