Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 85 additions & 1 deletion .github/morph/opengauss-template.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Open Gauss Batteries Included Devbox
description: Installer-driven Open Gauss template that uses the current checkout when run locally and otherwise clones math-inc/OpenGauss, runs the internal installer, exposes the local guide, and opens a ready Gauss session.
description: Installer-driven Open Gauss template that uses the current checkout when run locally and otherwise clones math-inc/OpenGauss, runs the internal installer, stages optional provider keys, exposes the local guide, and opens a ready Gauss session.
steps:
- id: bootstrap-installer-runtime
title: Prepare Open Gauss Installer Runtime
Expand Down Expand Up @@ -63,6 +63,90 @@ steps:
./scripts/install-internal.sh --with-workspace --noninteractive
. "$HOME/.opengauss-template/runtime.env"
"$HOME/.local/bin/gauss-launch-session" --print-summary || true
- id: optional-openrouter
title: Optionally Stage OPENROUTER_API_KEY
type: exportSecret
name: OPENROUTER_API_KEY
optional: true
run: |
set -euo pipefail
. "$HOME/.opengauss-template/runtime.env"
mkdir -p "$GAUSS_HOME"
touch "$GAUSS_HOME/.env"
python3 - <<'PY'
from pathlib import Path
import os

env_path = Path(os.environ["GAUSS_HOME"]) / ".env"
lines = []
if env_path.exists():
lines = [line for line in env_path.read_text().splitlines() if line and not line.startswith("OPENROUTER_API_KEY=")]
value = os.environ.get("OPENROUTER_API_KEY")
if not value:
raise SystemExit(0)
lines.append("OPENROUTER_API_KEY=" + value)
env_path.write_text("\n".join(lines) + "\n")
PY
- id: optional-openai
title: Optionally Stage OPENAI_API_KEY
type: exportSecret
name: OPENAI_API_KEY
optional: true
run: |
set -euo pipefail
. "$HOME/.opengauss-template/runtime.env"
mkdir -p "$GAUSS_HOME"
touch "$GAUSS_HOME/.env"
python3 - <<'PY'
from pathlib import Path
import os

env_path = Path(os.environ["GAUSS_HOME"]) / ".env"
lines = []
if env_path.exists():
lines = [line for line in env_path.read_text().splitlines() if line and not line.startswith("OPENAI_API_KEY=")]
value = os.environ.get("OPENAI_API_KEY")
if not value:
raise SystemExit(0)
lines.append("OPENAI_API_KEY=" + value)
env_path.write_text("\n".join(lines) + "\n")
PY
- id: optional-anthropic
title: Optionally Stage ANTHROPIC_API_KEY
type: exportSecret
name: ANTHROPIC_API_KEY
optional: true
run: |
set -euo pipefail
. "$HOME/.opengauss-template/runtime.env"
mkdir -p "$GAUSS_HOME"
touch "$GAUSS_HOME/.env"
python3 - <<'PY'
from pathlib import Path
import os

env_path = Path(os.environ["GAUSS_HOME"]) / ".env"
lines = []
if env_path.exists():
lines = [line for line in env_path.read_text().splitlines() if line and not line.startswith("ANTHROPIC_API_KEY=")]
value = os.environ.get("ANTHROPIC_API_KEY")
if not value:
raise SystemExit(0)
lines.append("ANTHROPIC_API_KEY=" + value)
env_path.write_text("\n".join(lines) + "\n")
PY
- id: finalize-provider-selection
title: Apply Main Provider Selection
type: command
run: |
set -euo pipefail
. "$HOME/.opengauss-template/runtime.env"
if [ -f "$GAUSS_HOME/.env" ]; then
set -a
. "$GAUSS_HOME/.env"
set +a
fi
"$HOME/.local/bin/gauss-configure-main-provider" auto || true
- id: start-guide-server
title: Start Guide Iframe Server
type: command
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<a href="https://morph.new/opengauss">
<a href="https://morph.new/opengauss-0-2-2">
<img src="https://img.shields.io/badge/Open%20in-Morph-f23f42?style=for-the-badge" alt="Open in Morph">
</a>
</p>
Expand All @@ -12,8 +12,8 @@ Open Gauss is a project-scoped Lean workflow orchestrator from Math, Inc. It giv
> Start with the [Start Here guide](website/docs/getting-started/start-here.md).
>
> Very short version:
> - Morph: open `morph.new/opengauss`, claim or save the session early if Morph offers it, then use `gauss-open-guide` or type `/start`.
> - Local: run `./scripts/install.sh`, then `gauss-open-guide` or `gauss`, then start with `/start`, `/chat`, or `/project init`.
> - Morph: open `morph.new/opengauss-0-2-2`, claim or save the session early if Morph offers it, then use `gauss-open-guide`, `gauss`, `/chat`, or `/project init`.
> - Local: run `./scripts/install.sh`, then `gauss-open-guide` or `gauss`, then start with `/chat`, `/managed-chat`, or `/project init`.

Open Gauss handles project detection, managed backend setup, workflow spawning, swarm tracking, and recovery. The proving and formalization behavior still comes from `cameronfreer/lean4-skills`; Gauss exposes it through a Gauss-native CLI and project model.

Expand All @@ -31,7 +31,7 @@ Each lifted slash command spawns a managed backend child agent in the active pro

## Install

If you want the fastest path, `https://morph.new/opengauss` launches the hosted setup in under 10 seconds. The local installers below are the batteries-included path for your own machine and can take up to 10 minutes.
If you want the fastest pinned release path, `https://morph.new/opengauss-0-2-2` launches the hosted setup in under 10 seconds. The local installers below are the batteries-included path for your own machine and can take up to 10 minutes.

If you are not already comfortable with OpenGauss, read the [Start Here guide](website/docs/getting-started/start-here.md) before picking a workflow.

Expand Down
6 changes: 3 additions & 3 deletions agent/prompt_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ def _scan_context_content(content: str, filename: str) -> str:
"a general self-summary unless the user explicitly asks. When asked who you "
"are, answer briefly and return to the work. "
"When the user is trying to use Open Gauss itself or seems unsure how to "
"start, give them the lowest-friction path first: point them to /start if "
"they want inline orientation or plain-language help, point them to /chat "
"if they want a managed Claude Code or Codex chat session, and point them to /project "
"start, give them the lowest-friction path first: point them to /chat if "
"they want inline orientation or plain-language help, point them to /managed-chat "
"if they want a managed Claude Code or Codex child session, and point them to /project "
"when they are ready to create or activate a Gauss project. After that, "
"tell them to run /prove, /autoprove, /formalize, or /autoformalize "
"followed by a natural-language instruction, for example /autoprove The "
Expand Down
Loading
Loading