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
178 changes: 89 additions & 89 deletions apps/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,91 +1,91 @@
{
"name": "offworld",
"version": "0.3.0",
"description": "Offworld CLI - Repository reference generation for AI coding agents",
"keywords": [
"ai",
"ai-agents",
"amp",
"anthropic",
"claude",
"claude-code",
"cli",
"codex",
"coding-agent",
"context",
"cursor",
"dependencies",
"developer-tools",
"documentation",
"git",
"llm",
"monorepo",
"offworld",
"opencode",
"reference",
"repository",
"skill",
"typescript"
],
"homepage": "https://offworld.sh",
"bugs": {
"url": "https://github.com/oscabriel/offworld/issues"
},
"license": "MIT",
"author": "Oscar Gabriel",
"repository": {
"type": "git",
"url": "https://github.com/oscabriel/offworld.git",
"directory": "apps/cli"
},
"bin": {
"offworld": "./dist/cli.mjs",
"ow": "./dist/cli.mjs"
},
"files": [
"dist",
"LICENSE",
"README.md"
],
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.mts",
"import": "./dist/index.mjs"
}
},
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "tsdown && chmod +x ./dist/cli.mjs",
"dev": "tsdown --watch",
"ow:dev": "bun run src/cli.ts",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"prepublishOnly": "npm run build",
"check": "oxlint && oxfmt --write"
},
"dependencies": {
"@clack/prompts": "^0.11.0",
"@offworld/sdk": "workspace:*",
"@offworld/types": "workspace:*",
"@opencode-ai/sdk": "^1.1.36",
"@orpc/server": "^1.13.4",
"convex": "catalog:",
"open": "^11.0.0",
"picocolors": "^1.1.1",
"trpc-cli": "^0.12.2",
"zod": "catalog:"
},
"devDependencies": {
"@types/node": "catalog:",
"tsdown": "catalog:",
"typescript": "catalog:",
"vitest": "catalog:"
},
"engines": {
"node": ">=18"
}
"name": "offworld",
"version": "0.3.0",
"description": "Offworld CLI - Repository reference generation for AI coding agents",
"keywords": [
"ai",
"ai-agents",
"amp",
"anthropic",
"claude",
"claude-code",
"cli",
"codex",
"coding-agent",
"context",
"cursor",
"dependencies",
"developer-tools",
"documentation",
"git",
"llm",
"monorepo",
"offworld",
"opencode",
"reference",
"repository",
"skill",
"typescript"
],
"homepage": "https://offworld.sh",
"bugs": {
"url": "https://github.com/oscabriel/offworld/issues"
},
"license": "MIT",
"author": "Oscar Gabriel",
"repository": {
"type": "git",
"url": "https://github.com/oscabriel/offworld.git",
"directory": "apps/cli"
},
"bin": {
"offworld": "./dist/cli.mjs",
"ow": "./dist/cli.mjs"
},
"files": [
"dist",
"LICENSE",
"README.md"
],
"type": "module",
"exports": {
".": {
"types": "./dist/index.d.mts",
"import": "./dist/index.mjs"
}
},
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "tsdown && chmod +x ./dist/cli.mjs",
"dev": "tsdown --watch",
"ow:dev": "bun run src/cli.ts",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"prepublishOnly": "npm run build",
"check": "oxlint && oxfmt --write"
},
"dependencies": {
"@clack/prompts": "^1.0.0",
"@offworld/sdk": "workspace:*",
"@offworld/types": "workspace:*",
"@opencode-ai/sdk": "^1.1.51",
"@orpc/server": "^1.13.4",
"convex": "catalog:",
"open": "^11.0.0",
"picocolors": "^1.1.1",
"trpc-cli": "^0.12.2",
"zod": "catalog:"
},
"devDependencies": {
"@types/node": "catalog:",
"tsdown": "catalog:",
"typescript": "catalog:",
"vitest": "catalog:"
},
"engines": {
"node": ">=18"
}
}
4 changes: 2 additions & 2 deletions apps/cli/src/handlers/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ function collapseTilde(path: string): string {
return path;
}

function validatePath(value: string): string | undefined {
if (!value.trim()) {
function validatePath(value: string | undefined): string | Error | undefined {
if (!value?.trim()) {
return "Path cannot be empty";
}
return undefined;
Expand Down
4 changes: 2 additions & 2 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
"check": "oxlint && oxfmt --write"
},
"dependencies": {
"@astrojs/starlight": "^0.37.4",
"@astrojs/starlight": "^0.37.6",
"@fontsource/geist-mono": "^5.2.7",
"@fontsource/sorts-mill-goudy": "^5.2.8",
"astro": "^5.16.15",
"astro": "^5.17.1",
"sharp": "^0.34.5",
"unist-util-visit": "^5.1.0",
"zod": "catalog:"
Expand Down
4 changes: 2 additions & 2 deletions apps/tui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
"check": "oxlint && oxfmt --write"
},
"dependencies": {
"@opentui/core": "^0.1.75"
"@opentui/core": "^0.1.77"
},
"devDependencies": {
"@types/bun": "1.3.6"
"@types/bun": "1.3.8"
},
"peerDependencies": {
"typescript": "^5"
Expand Down
18 changes: 9 additions & 9 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
"@offworld/backend": "workspace:*",
"@tailwindcss/vite": "^4.1.18",
"@tanstack/react-query": "^5.90.20",
"@tanstack/react-router": "^1.157.16",
"@tanstack/react-router-ssr-query": "^1.157.16",
"@tanstack/react-start": "^1.157.16",
"@tanstack/react-router": "^1.158.0",
"@tanstack/react-router-ssr-query": "^1.158.0",
"@tanstack/react-start": "^1.158.0",
"@workos/authkit-tanstack-react-start": "^0.5.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
Expand All @@ -49,16 +49,16 @@
"zod": "catalog:"
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.22.0",
"@cloudflare/vite-plugin": "^1.23.0",
"@offworld/config": "workspace:*",
"@playwright/test": "^1.58.0",
"@tanstack/react-router-devtools": "^1.157.16",
"@types/react": "19.2.10",
"@playwright/test": "^1.58.1",
"@tanstack/react-router-devtools": "^1.158.0",
"@types/react": "19.2.11",
"@types/react-dom": "19.2.3",
"@vitejs/plugin-react": "^5.1.2",
"@vitejs/plugin-react": "^5.1.3",
"alchemy": "catalog:",
"typescript": "catalog:",
"vite": "^7.3.1",
"wrangler": "^4.61.0"
"wrangler": "^4.62.0"
}
}
24 changes: 19 additions & 5 deletions apps/web/src/lib/cli-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,20 @@ Ask the user for:

Use their answers to fill flags in the commands below. Avoid running interactive CLI flows.

#### Step 1: Install the CLI
#### Step 1: Check for opencode

opencode is required for local AI reference generation. Verify it's installed:

\`\`\`bash
opencode --version
\`\`\`

If not installed:
\`\`\`bash
curl -fsSL https://opencode.ai/install | bash
\`\`\`

#### Step 2: Install the CLI

\`\`\`bash
curl -fsSL https://offworld.sh/install | bash
Expand All @@ -212,7 +225,7 @@ Or use your preferred package manager:
npm install -g offworld
\`\`\`

#### Step 2: Initialize Offworld (non-interactive)
#### Step 3: Initialize Offworld (non-interactive)

\`\`\`bash
ow init --yes --agents "<agent-list>" --repo-root "<clone-dir>" --model "<provider/model>"
Expand All @@ -224,14 +237,14 @@ This will:
- Configure which agents to sync reference files to
- Set the default model for reference generation

#### Step 3: Verify the installation
#### Step 4: Verify the installation

\`\`\`bash
ow --version
ow config show
\`\`\`

#### Step 4: Initialize in the current project (non-interactive)
#### Step 5: Initialize in the current project (non-interactive)

\`\`\`bash
ow project init --yes --all --generate
Expand All @@ -253,7 +266,7 @@ Or exclude specific dependencies:
ow project init --yes --all --skip "react,react-dom" --generate
\`\`\`

#### Step 5: Verify setup
#### Step 6: Verify setup

List the installed reference files:
\`\`\`bash
Expand All @@ -274,6 +287,7 @@ export const toSubcommandId = (group: string) => `sub-${group}`;
export function buildTocSections(): TocSection[] {
return [
{ id: "overview", label: "Overview" },
{ id: "prerequisites", label: "Prerequisites" },
{
id: "installation",
label: "Installation",
Expand Down
23 changes: 23 additions & 0 deletions apps/web/src/routes/cli.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,29 @@ function CliPage() {
</p>
</section>

{/* Prerequisites */}
<section id="prerequisites" className="pt-13">
<h2 className="mb-5 font-serif text-3xl tracking-tight">Prerequisites</h2>
<p className="text-muted-foreground mb-5 font-mono text-sm">
Offworld uses{" "}
<a
href="https://opencode.ai"
target="_blank"
rel="noopener noreferrer"
className="text-primary hover:underline"
>
opencode
</a>{" "}
as its AI runtime for local reference generation. Install it before installing
Offworld.
</p>
<CodeBlock code="curl -fsSL https://opencode.ai/install | bash" />
<p className="text-muted-foreground mt-3 font-mono text-sm">
Verify the installation:
</p>
<CodeBlock code="opencode --version" />
</section>

{/* Installation */}
<section id="installation" className="pt-13">
<h2 className="mb-5 font-serif text-3xl tracking-tight">Installation</h2>
Expand Down
Loading