diff --git a/Cargo.toml b/Cargo.toml index 69216a47f..ae6940131 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,10 +10,10 @@ resolver = "2" [workspace.package] edition = "2021" version = "1.31.0" -authors = ["AAIF "] +authors = ["Garza OS ", "AAIF "] license = "Apache-2.0" -repository = "https://github.com/aaif-goose/goose" -description = "An AI agent" +repository = "https://github.com/itsablabla/jada-code" +description = "Jada Code — AI coding agent powered by Goose" [workspace.lints.clippy] uninlined_format_args = "allow" diff --git a/Dockerfile b/Dockerfile index 05429deee..1297104c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -70,7 +70,7 @@ ENTRYPOINT ["/usr/local/bin/goose"] CMD ["--help"] # Labels for metadata -LABEL org.opencontainers.image.title="goose" -LABEL org.opencontainers.image.description="goose CLI" -LABEL org.opencontainers.image.vendor="AAIF" -LABEL org.opencontainers.image.source="https://github.com/aaif-goose/goose" +LABEL org.opencontainers.image.title="jada-code" +LABEL org.opencontainers.image.description="Jada Code — AI coding agent powered by Goose" +LABEL org.opencontainers.image.vendor="Garza OS" +LABEL org.opencontainers.image.source="https://github.com/itsablabla/jada-code" diff --git a/README.md b/README.md index fed529b2d..0abdc492f 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,112 @@ -> **🦆 goose has moved!** This project has moved from `block/goose` to the [Agentic AI Foundation (AAIF)](https://aaif.io/) at the Linux Foundation. Some links and references are still being updated — please bear with us during the transition. -
-# goose +# Jada Code -_your native open source AI agent — desktop app, CLI, and API — for code, workflows, and everything in between_ +_AI coding agent for Garza OS — powered by [Goose](https://github.com/aaif-goose/goose)_

- Discord - CI + Fork

-goose is a general-purpose AI agent that runs on your machine. Not just for code — use it for research, writing, automation, data analysis, or anything you need to get done. +**Jada Code** is a custom distribution of [Goose](https://github.com/aaif-goose/goose) — the open-source AI agent by AAIF (Agentic AI Foundation). It's preconfigured for the Garza OS ecosystem with Kimi K2.5 via OpenRouter, MCP extensions for Nextcloud, and server-first deployment. + +## What's different from upstream Goose -A native desktop app for macOS, Linux, and Windows. A full CLI for terminal workflows. An API to embed it anywhere. Built in Rust for performance and portability. +- **Branded as Jada Code** — system prompt, Dockerfile, metadata +- **Preconfigured for Garza OS** — OpenRouter provider, Kimi K2.5 model +- **Server-first deployment** — Docker Compose for headless VPS operation +- **MCP extensions** — Nextcloud Passwords, Nextcloud files, and more -goose works with 15+ providers — Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure, Bedrock, and more. Use API keys or your existing Claude, ChatGPT, or Gemini subscriptions via [ACP](https://goose-docs.ai/docs/guides/acp-providers). Connect to 70+ extensions via the [Model Context Protocol](https://modelcontextprotocol.io/) open standard. +## Quick Start (Server) -goose is part of the [Agentic AI Foundation (AAIF)](https://aaif.io/) at the Linux Foundation. +```bash +# Clone +git clone https://github.com/itsablabla/jada-code.git +cd jada-code -# Get started +# Run the server +docker compose -f docker-compose.server.yml up -d -**[Download the desktop app](https://goose-docs.ai/docs/getting-started/installation)** for macOS, Linux, and Windows. +# Server available at http://localhost:3000 +``` -Or install the CLI: +## Quick Start (CLI) ```bash -curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash +# Build from source +cargo build --release --package goose-cli + +# Run +GOOSE_PROVIDER=openrouter \ +OPENROUTER_API_KEY=your-key \ +./target/release/goose session ``` -# Quick links -- [Quickstart](https://goose-docs.ai/docs/quickstart) -- [Installation](https://goose-docs.ai/docs/getting-started/installation) -- [Tutorials](https://goose-docs.ai/docs/category/tutorials) -- [Documentation](https://goose-docs.ai/docs/category/getting-started) -- [Governance](https://github.com/aaif-goose/goose/blob/main/GOVERNANCE.md) -- [Custom Distributions](https://github.com/aaif-goose/goose/blob/main/CUSTOM_DISTROS.md) — build your own goose distro with preconfigured providers, extensions, and branding - -## Need help? -- [Diagnostics & Reporting](https://goose-docs.ai/docs/troubleshooting/diagnostics-and-reporting) -- [Known Issues](https://goose-docs.ai/docs/troubleshooting/known-issues) - -# a little goose humor 🪿 - -> Why did the developer choose goose as their AI agent? -> -> Because it always helps them "migrate" their code to production! 🚀 - -# goose around with us -- [Discord](https://discord.gg/goose-oss) -- [YouTube](https://www.youtube.com/@goose-oss) -- [LinkedIn](https://www.linkedin.com/company/goose-oss) -- [Twitter/X](https://x.com/goose_oss) +## Configuration + +Jada Code uses the same configuration system as Goose. Config lives in `~/.config/goose/`: + +- `profiles.yaml` — Provider and extension settings +- `config.yaml` — Global preferences + +### Environment Variables + +| Variable | Default | Description | +|----------|---------|-------------| +| `GOOSE_PROVIDER` | `openrouter` | AI provider | +| `GOOSE_MODEL` | `moonshotai/kimi-k2` | Model to use | +| `OPENROUTER_API_KEY` | - | OpenRouter API key | +| `GOOSE_HOST` | `127.0.0.1` | Server bind address | +| `GOOSE_PORT` | `3000` | Server listen port | +| `GOOSE_DISABLE_TELEMETRY` | `1` | Telemetry disabled by default | + +## MCP Extensions + +Jada Code ships with preconfigured MCP extensions: + +- **Developer** (built-in) — Shell commands, file editing, code analysis +- **Memory** (built-in) — Persistent storage across sessions +- **nc-passwords-mcp** — Nextcloud Passwords vault access + +Add more extensions via `profiles.yaml` or the `goose configure` CLI. + +## Docker Deployment + +### Server mode (headless) + +```bash +docker build -t jada-code . + +docker run -d \ + --name jada-code \ + --restart unless-stopped \ + -p 3000:3000 \ + -e GOOSE_PROVIDER=openrouter \ + -e GOOSE_MODEL=moonshotai/kimi-k2 \ + -e OPENROUTER_API_KEY=your-key \ + -e GOOSE_HOST=0.0.0.0 \ + -e GOOSE_PORT=3000 \ + -e GOOSE_DISABLE_TELEMETRY=1 \ + -v jada-code-data:/home/goose/.local/share/goose \ + -v jada-code-config:/home/goose/.config/goose \ + jada-code serve --host 0.0.0.0 --port 3000 --with-builtin developer,computercontroller,memory +``` + +## Upstream + +This is a fork of [aaif-goose/goose](https://github.com/aaif-goose/goose) (Apache 2.0). Goose is part of the [Agentic AI Foundation (AAIF)](https://aaif.io/) at the Linux Foundation. + +To sync with upstream: +```bash +git remote add upstream https://github.com/aaif-goose/goose.git +git fetch upstream +git merge upstream/main +``` + +## License + +Apache License 2.0 — see [LICENSE](LICENSE) for details. diff --git a/crates/goose/src/prompts/system.md b/crates/goose/src/prompts/system.md index aa9d0ae8b..b4fafd822 100644 --- a/crates/goose/src/prompts/system.md +++ b/crates/goose/src/prompts/system.md @@ -1,5 +1,5 @@ -You are a general-purpose AI agent called goose, created by AAIF (Agentic AI Foundation). -goose is being developed as an open-source software project. +You are a general-purpose AI agent called Jada Code, part of the Garza OS ecosystem. +Jada Code is powered by Goose (AAIF) and customized for the Garza OS platform. {% if not code_execution_mode %} # Extensions diff --git a/docker-compose.server.yml b/docker-compose.server.yml new file mode 100644 index 000000000..013fe9b9d --- /dev/null +++ b/docker-compose.server.yml @@ -0,0 +1,35 @@ +version: '3.8' + +services: + jada-code: + build: . + container_name: jada-code + command: serve --host 0.0.0.0 --port 3000 --with-builtin developer,computercontroller,memory + restart: unless-stopped + ports: + - "3000:3000" + environment: + - GOOSE_HOST=0.0.0.0 + - GOOSE_PORT=3000 + - GOOSE_PROVIDER=${GOOSE_PROVIDER:-openrouter} + - GOOSE_MODEL=${GOOSE_MODEL:-moonshotai/kimi-k2} + - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} + - GOOSE_DISABLE_TELEMETRY=1 + volumes: + - jada-code-data:/home/goose/.local/share/goose + - jada-code-config:/home/goose/.config/goose + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/status"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 10s + deploy: + resources: + limits: + memory: 2G + cpus: "2" + +volumes: + jada-code-data: + jada-code-config: diff --git a/init-config.yaml b/init-config.yaml new file mode 100644 index 000000000..f6d7afbfb --- /dev/null +++ b/init-config.yaml @@ -0,0 +1,4 @@ +# Jada Code — default configuration +# Applied on first run if no config exists +GOOSE_PROVIDER: openrouter +GOOSE_MODEL: moonshotai/kimi-k2