diff --git a/.codex/README.md b/.codex/README.md new file mode 100644 index 0000000..a806ee4 --- /dev/null +++ b/.codex/README.md @@ -0,0 +1,29 @@ +# Codex Cloud Environment + +Use these repo-local scripts when configuring the Codex cloud environment for `useorgx/orgx-local-shell`. + +## Setup script + +```bash +bash .codex/setup-cloud.sh +``` + +## Maintenance script + +```bash +bash .codex/maintenance-cloud.sh +``` + +## Environment notes + +- Node 22 or newer is safe for frontend checks. +- `tauri:dev` and `tauri:build` require native Rust/Tauri setup and are not baseline Codex cloud checks. +- The app depends on `useorgx/orgx-ui-kit` and `useorgx/orgx-data`; setup builds temporary clones of both GitHub dependencies so their `dist` type outputs exist before shell verification. +- Do not add OrgX API keys or workspace IDs as plain environment variables. + +## Verification commands + +```bash +npm run type-check +npm run build +``` diff --git a/.codex/cleanup-local-worktree.sh b/.codex/cleanup-local-worktree.sh new file mode 100755 index 0000000..1404250 --- /dev/null +++ b/.codex/cleanup-local-worktree.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "${CODEX_WORKTREE_PATH:-$(dirname "${BASH_SOURCE[0]}")/..}" + +if [ -f docker-compose.yml ] || [ -f docker-compose.yaml ] || [ -f compose.yml ] || [ -f compose.yaml ]; then + docker compose down --remove-orphans 2>/dev/null || true +fi + +rm -rf .cache/tmp .next/cache .turbo .vitest .wrangler/tmp node_modules/.cache tmp diff --git a/.codex/maintenance-cloud.sh b/.codex/maintenance-cloud.sh new file mode 100755 index 0000000..a72915e --- /dev/null +++ b/.codex/maintenance-cloud.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")/.." + +export CI=1 +export npm_config_audit=false +export npm_config_fund=false + +npm install --package-lock=false + +tmp_dir="${TMPDIR:-/tmp}/orgx-local-shell-cloud-deps" +rm -rf "$tmp_dir" +mkdir -p "$tmp_dir" +git clone --depth 1 https://github.com/useorgx/orgx-data.git "$tmp_dir/orgx-data" +git clone --depth 1 https://github.com/useorgx/orgx-ui-kit.git "$tmp_dir/orgx-ui-kit" +npm --prefix "$tmp_dir/orgx-data" install --package-lock=false +npm --prefix "$tmp_dir/orgx-data" run build +npm --prefix "$tmp_dir/orgx-ui-kit" install --package-lock=false +npm --prefix "$tmp_dir/orgx-ui-kit" run build +npm install --no-save --package-lock=false "$tmp_dir/orgx-data" "$tmp_dir/orgx-ui-kit" diff --git a/.codex/setup-cloud.sh b/.codex/setup-cloud.sh new file mode 100755 index 0000000..d3751d2 --- /dev/null +++ b/.codex/setup-cloud.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")/.." + +export CI=1 +export npm_config_audit=false +export npm_config_fund=false + +node --version +npm --version + +# This repo intentionally has no lockfile. Avoid creating one in Codex setup. +npm install --package-lock=false + +# The shell consumes these packages from GitHub. Build local temp copies so +# Codex cloud has the dist/type outputs even before npm packages are published. +tmp_dir="${TMPDIR:-/tmp}/orgx-local-shell-cloud-deps" +rm -rf "$tmp_dir" +mkdir -p "$tmp_dir" +git clone --depth 1 https://github.com/useorgx/orgx-data.git "$tmp_dir/orgx-data" +git clone --depth 1 https://github.com/useorgx/orgx-ui-kit.git "$tmp_dir/orgx-ui-kit" +npm --prefix "$tmp_dir/orgx-data" install --package-lock=false +npm --prefix "$tmp_dir/orgx-data" run build +npm --prefix "$tmp_dir/orgx-ui-kit" install --package-lock=false +npm --prefix "$tmp_dir/orgx-ui-kit" run build +npm install --no-save --package-lock=false "$tmp_dir/orgx-data" "$tmp_dir/orgx-ui-kit" + +npm run type-check +npm run build diff --git a/.codex/setup-local-worktree.sh b/.codex/setup-local-worktree.sh new file mode 100755 index 0000000..ada8e39 --- /dev/null +++ b/.codex/setup-local-worktree.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "${CODEX_WORKTREE_PATH:-$(dirname "${BASH_SOURCE[0]}")/..}" + +if [ -x .codex/maintenance-cloud.sh ]; then + bash .codex/maintenance-cloud.sh +else + echo "No .codex/maintenance-cloud.sh found; skipping local worktree setup." +fi diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..643a653 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,30 @@ +# AGENTS.md + +Guidelines for Codex and other agents working in `useorgx/orgx-local-shell`. + +## Project + +This repo is the Tauri 2 desktop shell for OrgX local execution surfaces and peer sidecar control. + +## Setup + +For Codex cloud, use: + +```bash +bash .codex/setup-cloud.sh +``` + +Maintenance script for cached environments: + +```bash +bash .codex/maintenance-cloud.sh +``` + +## Verification + +```bash +npm run type-check +npm run build +``` + +Do not treat native Tauri packaging as a baseline cloud requirement. Run `npm run tauri:build` only when the task specifically touches native shell packaging and the environment has Rust/Tauri prerequisites. diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000..2a9667f Binary files /dev/null and b/src-tauri/icons/128x128.png differ diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000..9255143 Binary files /dev/null and b/src-tauri/icons/128x128@2x.png differ diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png new file mode 100644 index 0000000..c1bdb51 Binary files /dev/null and b/src-tauri/icons/32x32.png differ diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000..68bb66d Binary files /dev/null and b/src-tauri/icons/icon.icns differ diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico new file mode 100644 index 0000000..bfc3ef8 Binary files /dev/null and b/src-tauri/icons/icon.ico differ diff --git a/src-tauri/icons/tray.png b/src-tauri/icons/tray.png new file mode 100644 index 0000000..c1bdb51 Binary files /dev/null and b/src-tauri/icons/tray.png differ diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 0000000..c5ba3c3 --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,6 @@ +//! Library target required by the Tauri 2 Cargo manifest. +//! +//! The desktop runtime entrypoint lives in `main.rs`; this file keeps Cargo +//! metadata valid for CI and platform bundling. + +pub fn shell_library_target() {} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1d852ac..5842d3f 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "OrgX Shell", - "version": "0.1.0-alpha.0", + "version": "0.1.0", "identifier": "com.useorgx.shell", "build": { "frontendDist": "../dist",