Skip to content

Commit 33a51fd

Browse files
committed
Fix merge conflicts
Signed-off-by: raj-subhankar <subhankar.rj@gmail.com>
2 parents 743ded1 + 63bf8eb commit 33a51fd

File tree

177 files changed

+7870
-4013
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+7870
-4013
lines changed

.github/copilot-instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
- See HOWTOAI.md for AI-assisted code standards
4646
- MCP protocol implementations require extra scrutiny
4747
- Naming convention: In `documentation/docs` and `documentation/blog`, always refer to the project as "goose" (lowercase), never "Goose" (even at the start of sentences)
48+
- No prerelease docs: PRs should not contain updates in `/documentation` that correspond to code changes in the PR so that the public docs stay in sync with the latest released version. New topics should be marked with `unlisted: true`; other content should be removed or hidden from public view.
4849

4950
## CI Pipeline Context
5051

.github/workflows/bundle-desktop-linux.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ name: "Bundle Desktop (Linux)"
2121
jobs:
2222
build-desktop-linux:
2323
name: Build Desktop (Linux)
24-
runs-on: ubuntu-latest
24+
runs-on: ubuntu-x86-16core-64gb
2525

2626
steps:
2727
- name: Checkout repository
@@ -76,7 +76,14 @@ jobs:
7676
rpm \
7777
fakeroot \
7878
dpkg-dev \
79-
protobuf-compiler
79+
protobuf-compiler \
80+
flatpak \
81+
flatpak-builder \
82+
elfutils
83+
84+
- name: Setup Flatpak Runtimes
85+
run: |
86+
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
8087
8188
- name: Activate hermit and set CARGO_HOME
8289
run: |
@@ -136,25 +143,25 @@ jobs:
136143
run: |
137144
source ./bin/activate-hermit
138145
cd ui/desktop
139-
echo "Building Linux packages (.deb and .rpm)..."
146+
echo "Building Linux packages (.deb, .rpm, and .flatpak)..."
140147
141-
# Build both .deb and .rpm packages
148+
# Build all configured packages
142149
npm run make -- --platform=linux --arch=x64
143150
144151
echo "Build completed. Checking output..."
145152
ls -la out/
146-
find out/ -name "*.deb" -o -name "*.rpm" | head -10
153+
find out/ -name "*.deb" -o -name "*.rpm" -o -name "*.flatpak" | head -10
147154
148155
- name: List generated files
149156
run: |
150157
echo "=== All files in out/ directory ==="
151158
find ui/desktop/out/ -type f | head -20
152159
echo ""
153160
echo "=== Package files specifically ==="
154-
find ui/desktop/out/ -name "*.deb" -o -name "*.rpm"
161+
find ui/desktop/out/ -name "*.deb" -o -name "*.rpm" -o -name "*.flatpak"
155162
echo ""
156163
echo "=== File sizes ==="
157-
find ui/desktop/out/ -name "*.deb" -o -name "*.rpm" -exec ls -lh {} \;
164+
find ui/desktop/out/ -name "*.deb" -o -name "*.rpm" -o -name "*.flatpak" -exec ls -lh {} \;
158165
159166
- name: Upload .deb package
160167
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
@@ -170,11 +177,19 @@ jobs:
170177
path: ui/desktop/out/make/rpm/x64/*.rpm
171178
if-no-files-found: error
172179

180+
- name: Upload .flatpak package
181+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
182+
with:
183+
name: Goose-linux-x64-flatpak
184+
path: ui/desktop/out/make/flatpak/**/*.flatpak
185+
if-no-files-found: error
186+
173187
- name: Upload combined Linux packages
174188
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
175189
with:
176190
name: Goose-linux-x64
177191
path: |
178192
ui/desktop/out/make/deb/x64/*.deb
179193
ui/desktop/out/make/rpm/x64/*.rpm
194+
ui/desktop/out/make/flatpak/**/*.flatpak
180195
if-no-files-found: error

.github/workflows/canary.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ jobs:
119119
Goose*.zip
120120
*.deb
121121
*.rpm
122+
*.flatpak
122123
download_cli.sh
123124
allowUpdates: true
124125
omitBody: true

.github/workflows/deploy-docs-and-extensions.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@ on:
88
- 'documentation/**'
99

1010
# Use same concurrency group as PR preview workflow to prevent race conditions
11-
# when both workflows try to modify gh-pages branch simultaneously
12-
concurrency: pr-preview
11+
# when both workflows try to modify gh-pages branch simultaneously.
12+
# cancel-in-progress: false ensures production deploys queue and wait rather than
13+
# being cancelled by PR preview workflows.
14+
concurrency:
15+
group: pr-preview
16+
cancel-in-progress: false
1317

1418
jobs:
1519
deploy:

.github/workflows/nightly.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ jobs:
121121
Goose*.zip
122122
*.deb
123123
*.rpm
124+
*.flatpak
124125
download_cli.sh
125126
allowUpdates: true
126127
omitBody: true

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ jobs:
109109
Goose*.zip
110110
*.deb
111111
*.rpm
112+
*.flatpak
112113
download_cli.sh
113114
allowUpdates: true
114115
omitBody: true
@@ -127,6 +128,7 @@ jobs:
127128
Goose*.zip
128129
*.deb
129130
*.rpm
131+
*.flatpak
130132
download_cli.sh
131133
allowUpdates: true
132134
omitBody: true

BUILDING_LINUX.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,23 @@ If you see "Could not find goosed binary", ensure you've:
138138
- The RPM maker is disabled by default as it's not compatible with Arch-based systems
139139
- Use the ZIP distribution method for maximum compatibility
140140

141-
#### Flatpak/Snap
142-
Building as Flatpak or Snap packages is not currently supported but may be added in the future.
141+
#### Flatpak
142+
Flatpak builds are supported via CI. To build locally:
143+
```bash
144+
# Install flatpak and flatpak-builder
145+
sudo apt install flatpak flatpak-builder
146+
147+
# Add Flathub remote
148+
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
149+
150+
# Build with Electron Forge
151+
npm run make -- --targets=@electron-forge/maker-flatpak
152+
```
153+
154+
Output: `out/make/flatpak/x86_64/*.flatpak`
155+
156+
#### Snap
157+
Building as Snap packages is not currently supported but may be added in the future.
143158

144159
## Development Workflow
145160

CONTRIBUTING.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -62,59 +62,59 @@ sudo apt install libxcb1-dev # libxcb1-dev is the development package for t
6262

6363
### Rust
6464

65-
First let's compile goose and try it out
65+
First, activate the hermit environment and compile goose:
6666

6767
```
68+
source bin/activate-hermit
6869
cargo build
6970
```
7071

71-
when that is done, you should now have debug builds of the binaries like the goose cli:
72+
When that completes, debug builds of the binaries are available, including the goose CLI:
7273

7374
```
7475
./target/debug/goose --help
7576
```
7677

77-
If you haven't used the CLI before, you can use this compiled version to do first time configuration:
78+
For first-time setup, run the configure command:
7879

7980
```
8081
./target/debug/goose configure
8182
```
8283

83-
And then once you have a connection to an LLM provider working, you can run a session!
84+
Once a connection to an LLM provider is working, start a session:
8485

8586
```
8687
./target/debug/goose session
8788
```
8889

8990
These same commands can be recompiled and immediately run using `cargo run -p goose-cli` for iteration.
90-
As you make changes to the rust code, you can try it out on the CLI, or also run checks, tests, and linter:
91+
When making changes to the Rust code, test them on the CLI or run checks, tests, and the linter:
9192

9293
```
93-
cargo check # do your changes compile
94-
cargo test # do the tests pass with your changes
95-
cargo fmt # format your code
94+
cargo check # verify changes compile
95+
cargo test # run tests with changes
96+
cargo fmt # format code
9697
./scripts/clippy-lint.sh # run the linter
9798
```
9899

99100
### Node
100101

101-
Now let's make sure you can run the app.
102+
To run the app:
102103

103104
```
104105
just run-ui
105106
```
106107

107-
The start gui will both build a release build of rust (as if you had done `cargo build -r`) and start the electron process.
108-
You should see the app open a window, and drop you into first time setup. When you've gone through the setup,
109-
you can talk to goose!
108+
This command builds a release build of Rust (equivalent to `cargo build -r`) and starts the Electron process.
109+
The app opens a window and displays first-time setup. After completing setup, goose is ready for use.
110110

111-
You can now make changes in the code in ui/desktop to iterate on the GUI half of goose.
111+
Make GUI changes in `ui/desktop`.
112112

113113
### Regenerating the OpenAPI schema
114114

115115
The file `ui/desktop/openapi.json` is automatically generated during the build.
116116
It is written by the `generate_schema` binary in `crates/goose-server`.
117-
If you need to update the spec without starting the UI, run:
117+
To update the spec without starting the UI, run:
118118

119119
```
120120
just generate-openapi
@@ -123,29 +123,28 @@ just generate-openapi
123123
This command regenerates `ui/desktop/openapi.json` and then runs the UI's
124124
`generate-api` script to rebuild the TypeScript client from that spec.
125125

126-
Changes to the API should be made in the Rust source under `crates/goose-server/src/`.
126+
API changes should be made in the Rust source under `crates/goose-server/src/`.
127127

128128
### Debugging
129129

130-
To debug the Goose server, you can run it from your preferred IDE. How to configure the command
131-
to start the server will depend on your IDE. The command to run is:
130+
To debug the Goose server, run it from an IDE. The configuration will depend on the IDE. The command to run is:
132131

133132
```
134133
export GOOSE_SERVER__SECRET_KEY=test
135134
cargo run --package goose-server --bin goosed -- agent # or: `just run-server`
136135
```
137136

138-
The server will start listening on port `3000` by default, but this can be changed by setting the
137+
The server listens on port `3000` by default; this can be changed by setting the
139138
`GOOSE_PORT` environment variable.
140139

141-
Once the server is running, you can start a UI and connect it to the server by running:
140+
Once the server is running, start a UI and connect it to the server by running:
142141

143142
```
144143
just debug-ui
145144
```
146145

147-
The UI will now be connected to the server you started in your IDE, allowing you to set breakpoints
148-
and step through the server code as you interact with the UI.
146+
The UI connects to the server started in the IDE, allowing breakpoints
147+
and stepping through the server code while interacting with the UI.
149148

150149
## Creating a fork
151150

0 commit comments

Comments
 (0)