Salman Mohammed c331a146f5 ci: update github action workflows for CI and release (#633)
Co-authored-by: Kalvin Chau <kalvin@squareup.com>

- combines the release workflow for CLI and Desktop App
    - "Build CLI" step only builds 'goose' artifacts; it skips 'goosed' artifacts
    - we no longer release desktop app run on pull requests speeds up PR builds a lot. however, i created a separate PR comment trigger which we can trigger with "/bundle-desktop" comment cause it can be useful in select PRs.
    - system deps in Cross.toml had to be updated (possible due to the recent Ubuntu update from 22 -> 24 in Github runners)

- versioned and stable release

- adds a PR comment trigger workflow to bundle desktop app and comment on PR with the download link

- only download 'goose' artifacts in download_cli.sh, improve error msgs

- combines the CI workflows for rust and electron app to a single workflow

- adds canary release workflow
2025-01-17 14:36:08 -05:00
2025-01-16 16:05:15 -08:00
2025-01-15 16:48:08 -05:00
2024-11-09 18:04:41 -08:00
2025-01-07 20:25:49 -05:00
2024-09-09 14:56:30 -04:00
2024-12-18 14:14:14 +11:00

Goose is your on-machine developer agent, working for you, on your terms

Discord

GOOSE 1.0!!

This is the branch for goose 1.0 WIP: which is a port over from python to rust + typescript/electron for optional desktop environment. WATCH THIS SPACE

Building

cargo build

Running the CLI

Configure

goose configure

Add/Remove system

goose system add <system_url>
goose system remove <system_url>

OpenAI provider (default):

export OPENAI_API_KEY=...

cargo run --bin goose -- session

Databricks provider (TODO):

export DATABRICKS_HOST=...
export DATABRICKS_TOKEN=...

cargo run --bin goose -- session

Headless mode

Run goose once-off with instructions from a file

Usage: cargo run --bin goose -- run -i instructions.md

GUI

Goose has an electron based GUI which you can see in ui/desktop:

image image image

Start sub system server

cd crates/stub-system
cargo run

Troubleshooting

Compiling tokenizers library

tokenizers depends on esaxx-rs which failed to compile because 'cstdint' file was not found. The following fixed it:


export CXXFLAGS="-isystem $(xcrun --show-sdk-path)/usr/include/c++/v1"
cargo check
S
Description
No description provided
Readme Apache-2.0 1.5 GiB
Languages
Rust 63.6%
TypeScript 29.6%
JavaScript 1.7%
Shell 1.6%
Python 1.5%
Other 1.8%