Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
bf11490
fix(gui): repair the dashboard typecheck broken on dev (#20)
OnlineChef Jul 30, 2026
bbfa8d6
Merge remote-tracking branch 'upstream/dev' into ci/gui-dev-green
Jul 30, 2026
79c6352
fix(test-tooling): only blame real bun runners and compare raw elapse…
OnlineChef Jul 30, 2026
5fa432f
merge: sync upstream/dev to restore Cross-platform CI (#28)
OnlineChef Jul 30, 2026
b5c00ae
fix(service): persist Restart=always in generated systemd unit
Jul 30, 2026
5be33a3
feat(oauth): add opt-in Google Antigravity 429 account pool
Jul 30, 2026
9ffa2c9
fix(oauth): release Antigravity session affinity when a rotation targ…
OnlineChef Jul 30, 2026
c7e6d4f
fix(service): persist Restart=always in generated systemd unit (PR1)
OnlineChef Jul 30, 2026
f67a522
feat(oauth): opt-in Google Antigravity 429 account pool (PR3)
OnlineChef Jul 30, 2026
c452fec
feat(retry): unified outcome classifier and global 3-attempt budget
Jul 30, 2026
956f7cd
feat(catalog): discovery backoff and opt-in unavailable-model hide
Jul 30, 2026
d1d879b
feat(google): honor strict Gemini tools with validated calling
Jul 30, 2026
c75b9db
feat(oauth): add opt-in Cursor quota account pool
Jul 30, 2026
ced3eb4
fix(cursor): honour the upstream Retry-After when rotating on quota
OnlineChef Jul 30, 2026
4a8b237
feat(usage): quality metrics, Antigravity per-account quotas, Proxy v…
Jul 30, 2026
3f8e00f
fix(usage): roll budget windows on read and record; require HTTPS for…
OnlineChef Jul 30, 2026
eb1f7e6
feat(providers): add compat matrix and OmniRoute loopback policy
Jul 30, 2026
cdd752b
fix(retry): stop the shared attempt budget breaking raw errors and co…
OnlineChef Jul 30, 2026
9d8b216
fix(tests): give the dest_exists restore test the same 20s timeout as…
OnlineChef Jul 30, 2026
ff0c83b
feat(retry): unified outcome classifier and global 3-attempt budget (…
OnlineChef Jul 30, 2026
38ba41f
feat(catalog): discovery backoff and opt-in unavailable-model hide (PR5)
OnlineChef Jul 30, 2026
33dd2fe
feat(google): honor strict Gemini tools with validated calling (PR6)
OnlineChef Jul 30, 2026
59d5ae2
feat(oauth): opt-in Cursor quota account pool (PR7)
OnlineChef Jul 30, 2026
9de1d7f
feat(usage): quality metrics, Antigravity quotas, Proxy vs Provider l…
OnlineChef Jul 30, 2026
d6b6e97
feat(providers): add compat matrix and OmniRoute loopback policy (PR9)
OnlineChef Jul 30, 2026
e07265f
chore(cursor): add Stitch MCP launcher (#31)
OnlineChef Jul 30, 2026
4bcb027
fix(dev): restore modules, registry exports, and i18n keys dropped in…
OnlineChef Jul 30, 2026
9567d60
fix(telemetry): retry transiently failed PostHog batches
OnlineChef Jul 30, 2026
6954f6b
fix(usage,telemetry): harden pricing, latency, and telemetry property…
OnlineChef Jul 30, 2026
9755369
fix(dev): restore modules, registry exports, and i18n keys dropped in…
OnlineChef Jul 30, 2026
09fbc26
chore: update package.json to reflect fork identity and repo URLs
OnlineChef Jul 25, 2026
9ea9316
chore: update release workflow for fork branch model + add ROADMAP
OnlineChef Jul 25, 2026
1801fdc
fix: replace all upstream (lidge-jun) references with OnlineChefGroep…
OnlineChef Jul 25, 2026
5016659
chore: remove all upstream (lidge-jun) references from codebase
OnlineChef Jul 25, 2026
f1e4eea
fix(ci): align fork release/PR-target tests with OnlineChefGroep model
Jul 30, 2026
7d9ebfb
fix(ci): align prerelease predicate, contributing link, docs edit bra…
OnlineChef Jul 30, 2026
8e3d58c
fix(release): restrict prereleases to -preview.N and release from mai…
OnlineChef Jul 30, 2026
41e9e70
test(release): cover main-only release gate and preview-only prerelea…
OnlineChef Jul 30, 2026
63a4157
Merge pull request #33 from OnlineChefGroep/chore/fork-identity
OnlineChef Jul 30, 2026
7c3c507
redesign(gui): adopt ChefGroep design language (warm palette, blue ac…
OnlineChef Jul 30, 2026
c23de7a
feat(providers): generalize account UI and per-provider fallback
OnlineChef Aug 1, 2026
0685b76
fix(providers): keep anthropic terminal guard and single expansion on…
OnlineChef Aug 1, 2026
e0ff202
fix(gui): key fallback rows by stable id
OnlineChef Aug 1, 2026
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
7 changes: 7 additions & 0 deletions .cursor/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"mcpServers": {
"stitch": {
"command": "chefgroep-stitch-mcp"
}
}
}
7 changes: 2 additions & 5 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Report a security vulnerability (private)
url: https://github.com/lidge-jun/opencodex/security/advisories/new
about: Report undisclosed vulnerabilities privately to the maintainers. Do not open a public issue.
- name: Security policy
url: https://github.com/lidge-jun/opencodex/blob/main/SECURITY.md
url: https://github.com/OnlineChefGroep/opencodex/blob/main/SECURITY.md
about: Read the supported-version and reporting guidance before sharing security-sensitive details.
- name: Contributing guide
url: https://opencodex.me/contributing/
url: https://github.com/OnlineChefGroep/opencodex/blob/dev/CONTRIBUTING.md
about: Review setup, build, and verification guidance for contributors.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ body:
attributes:
label: Documentation location
description: Public documentation URL or repository path.
placeholder: "https://opencodex.me/providers/ or docs/providers.md"
placeholder: "https://github.com/OnlineChefGroep/opencodex or docs/providers.md"
validations:
required: true

Expand Down
4 changes: 2 additions & 2 deletions .github/scripts/issue-quality.test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -1003,7 +1003,7 @@ describe("validateIssue - documentation", () => {
"### Documentation problem type",
"Incorrect documentation",
"### Documentation location",
"https://lidge-jun.github.io/opencodex/providers/",
"https://github.com/OnlineChefGroep/opencodex",
"### What is wrong or missing?",
"The page says kimi uses /v1/chat/completions but it actually uses /v1/responses.",
"### What should the documentation explain instead?",
Expand Down Expand Up @@ -1164,7 +1164,7 @@ describe("shouldReopen", () => {
state: "closed",
closed_at: "2026-07-20T10:00:00Z",
state_reason: "not_planned",
closed_by: "lidge-jun",
closed_by: "OnlineChefGroep",
};
assert.equal(shouldReopen(baseBotState, issue, false), false);
});
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/enforce-issue-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1040,7 +1040,7 @@ jobs:
"",
guidanceList,
"",
"See the [Contributing guide](https://lidge-jun.github.io/opencodex/contributing/) for details.",
"See the [README](https://github.com/OnlineChefGroep/opencodex) for details.",
"",
"Once the report passes the automated checks, it will be reopened automatically unless a maintainer has changed its state.",
].join("\n"));
2 changes: 1 addition & 1 deletion .github/workflows/enforce-pr-target.yml
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ jobs:
"",
`This pull request currently targets ${inlineCode(pr.base.ref)}, but pull requests must target one of ${ALLOWED_BASES.map(inlineCode).join(" or ")}.`,
"",
`@${pr.user.login} Please retarget this PR to ${inlineCode(DEFAULT_BASE)}. All contributions go to ${inlineCode(DEFAULT_BASE)}; \`main\` receives only release promotions. See our [Contributing guide](https://lidge-jun.github.io/opencodex/contributing/) for details. Thanks! 🙏`
`@${pr.user.login} Please retarget this PR to ${inlineCode(DEFAULT_BASE)}. All contributions go to ${inlineCode(DEFAULT_BASE)}; \`main\` receives only release promotions. See our [Contributing guide](https://github.com/OnlineChefGroep/opencodex/blob/dev/CONTRIBUTING.md) for details. Thanks! 🙏`
);
}

Expand Down
45 changes: 27 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,32 +111,38 @@ jobs:
run: |
set -euo pipefail

# All releases run from main. Stable versions (no pre-release suffix) get dist-tag "latest".
# Pre-release versions (e.g. 1.0.0-alpha.1) get dist-tag "preview".
case "$GITHUB_REF" in
refs/heads/main)
expected_tag="latest"
if [[ "$RELEASE_VERSION" == *-* ]]; then
echo "::error::main releases must use a stable semver version; got ${RELEASE_VERSION}"
exit 1
fi
;;
refs/heads/preview)
expected_tag="preview"
if [[ "$RELEASE_VERSION" != *-preview.* ]]; then
echo "::error::preview releases must use a preview prerelease version; got ${RELEASE_VERSION}"
exit 1
# The only supported prerelease shape is X.Y.Z-preview.N: the update
# client (src/update/notify.ts, bin/ocx.mjs) and the release-notes
# helper both key off that exact suffix, so an -alpha/-beta/-rc build
# would publish to preview and then never be seen as an update.
if [[ ! "$RELEASE_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+-preview\.[0-9]+$ ]]; then
echo "::error::Pre-release versions must be X.Y.Z-preview.N (got ${RELEASE_VERSION})"
exit 1
fi
# Pre-release version — must use "preview" dist-tag
if [ "$NPM_DIST_TAG" != "preview" ]; then
echo "::error::Pre-release versions (${RELEASE_VERSION}) must use dist-tag 'preview', got '${NPM_DIST_TAG}'"
exit 1
fi
else
# Stable version — must use "latest" dist-tag
if [ "$NPM_DIST_TAG" != "latest" ]; then
echo "::error::Stable releases (${RELEASE_VERSION}) must use dist-tag 'latest', got '${NPM_DIST_TAG}'"
exit 1
fi
fi
;;
*)
echo "::error::Release must run from main or preview; got ${GITHUB_REF}"
echo "::error::Release must run from main; got ${GITHUB_REF}"
exit 1
;;
esac

Comment on lines +114 to 145

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

rg -n -C 3 \
  'RELEASE_VERSION|preview|prerelease|matching-preview-tags' \
  .github/workflows/release.yml scripts/release-notes.ts scripts/release.ts

Repository: lidge-jun/opencodex

Length of output: 24314


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- release workflow ---'
sed -n '145,175p;294,325p;337,352p' .github/workflows/release.yml

printf '%s\n' '--- release helper ---'
sed -n '215,250p' scripts/release.ts

printf '%s\n' '--- release-notes helper ---'
sed -n '14,35p' scripts/release-notes.ts

printf '%s\n' '--- declared release version ---'
sed -n '1,25p' CHANGELOG.md

printf '%s\n' '--- all release predicates ---'
rg -n 'includes\("-"\)|\*-|preview\.|prerelease|NPM_DIST_TAG' \
  .github/workflows/release.yml scripts/release-notes.ts scripts/release.ts

Repository: lidge-jun/opencodex

Length of output: 10507


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- workflow inputs and release trigger ---'
sed -n '1,45p;80,145p' .github/workflows/release.yml

printf '%s\n' '--- versioning policy ---'
rg -n -C 4 'alpha|beta|preview|main|stable|prerelease' VERSIONING.md README.md CHANGELOG.md scripts/release.ts

printf '%s\n' '--- deterministic predicate probe ---'
RELEASE_VERSIONS=('1.0.0' '1.0.0-alpha.1' '1.0.0-beta.1' '1.0.0-rc.1' '1.0.0-preview.1')
for version in "${RELEASE_VERSIONS[@]}"; do
  if [[ "$version" == *-* ]]; then
    validation_channel='preview'
    github_prerelease='yes'
  else
    validation_channel='latest'
    github_prerelease='no'
  fi
  if [[ "$version" == *-preview.* ]]; then
    history_channel='preview'
    carry_mode='stable-only'
  else
    history_channel='stable'
    carry_mode='matching-preview-tags'
  fi
  printf '%-20s validation=%-7s github_prerelease=%-3s history=%-6s carry=%s\n' \
    "$version" "$validation_channel" "$github_prerelease" "$history_channel" "$carry_mode"
done

Repository: lidge-jun/opencodex

Length of output: 24253


Keep prerelease classification consistent.

release.yml:117 and release.yml:321 classify 1.0.0-alpha.1, 1.0.0-beta.1, and 1.0.0-rc.1 as preview releases. The history and carry logic at release.yml:156-168, release.yml:301-315, and release.yml:344-348 recognizes only -preview.*. These versions therefore receive preview metadata but use the stable history baseline and cannot participate in preview-note carry. This conflicts with CHANGELOG.md:8 and CHANGELOG.md:13.

Use one prerelease predicate across the workflow and scripts/release-notes.ts, or reject all prerelease identifiers except -preview.*.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release.yml around lines 113 - 136, Unify prerelease
detection across the release workflow and scripts/release-notes.ts so alpha,
beta, rc, and preview versions follow the same preview history and carry-note
behavior. Update the classification and related history/carry logic around
NPM_DIST_TAG, RELEASE_VERSION, and release-notes handling to use one shared
predicate, or consistently reject non-preview prerelease identifiers.

if [ "$NPM_DIST_TAG" != "$expected_tag" ]; then
echo "::error::${GITHUB_REF#refs/heads/} releases must publish with npm dist-tag '${expected_tag}', got '${NPM_DIST_TAG}'"
exit 1
fi

ci_url="$(
gh run list \
--workflow ci.yml \
Expand Down Expand Up @@ -306,7 +312,7 @@ jobs:
# Preview builds must be marked prerelease so GitHub "latest" keeps pointing at the
# stable channel (matching npm dist-tags); see issue #64.
prerelease_flag=""
if [[ "$RELEASE_VERSION" == *-preview.* ]]; then
if [[ "$RELEASE_VERSION" == *-* ]]; then
prerelease_flag="--prerelease"
fi

Expand All @@ -329,7 +335,10 @@ jobs:
# advance the baseline to a later preview that is missing/empty — that would
# drop the gap between the last carried preview and that later tag.
notes_range_start="$previous_tag"
if [[ "$RELEASE_VERSION" != *-preview.* ]]; then
# Same hyphen predicate as the dist-tag gate and prerelease_flag above: any
# pre-release suffix ships on the preview channel, so only truly stable
# versions take the carry path.
if [[ "$RELEASE_VERSION" != *-* ]]; then
preview_carry_tags="$(
git tag --list "v${RELEASE_VERSION}-preview.*" |
bun scripts/release-notes.ts matching-preview-tags "$RELEASE_VERSION"
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Thanks for helping with opencodex.
- `preview` — prerelease train.

The `dev2-go` Go native-port line has been retired. Its history is archived at
[lidge-jun/opencodex-go-archive](https://github.com/lidge-jun/opencodex-go-archive),
[OnlineChefGroep/opencodex-go-archive](https://github.com/OnlineChefGroep/opencodex-go-archive),
and everything now goes to `dev`. See [`MAINTAINERS.md`](./MAINTAINERS.md) for
the reasoning.

Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ defects. Bun-native TypeScript on `dev` is the single runtime line again.

- The branch has been deleted from this repository. Its full history is
published at
[lidge-jun/opencodex-go-archive](https://github.com/lidge-jun/opencodex-go-archive),
[OnlineChefGroep/opencodex-go-archive](https://github.com/OnlineChefGroep/opencodex-go-archive),
and its final tip stays reachable here as the `archive/dev2-go` tag.
- A merge into `dev` carries no port obligation. The nine open `needs-go-port`
issues (#661, #663, #666, #670, #674, #678, #680, #685, #703) were closed as
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Two commands, and every one of them runs any LLM you point it at.</p>
<p align="center">
<a href="https://x.com/claudeebum"><img src="https://img.shields.io/badge/%40claudeebum-000000?logo=x&logoColor=white" alt="Follow @claudeebum on X"></a>
<a href="https://www.npmjs.com/package/@bitkyc08/opencodex"><img src="https://img.shields.io/npm/v/@bitkyc08/opencodex?color=cb3837&label=npm&logo=npm" alt="npm version"></a>
<a href="https://github.com/lidge-jun/opencodex/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@bitkyc08/opencodex?color=blue" alt="license"></a>
<a href="https://github.com/OnlineChefGroep/opencodex/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@bitkyc08/opencodex?color=blue" alt="license"></a>
<img src="https://img.shields.io/node/v/@bitkyc08/opencodex?logo=node.js&label=node" alt="node version">
</p>

Expand Down Expand Up @@ -263,7 +263,7 @@ next Codex session. opencodex keeps these behaviors:
- **Log in once, skip the API key.** OAuth support for xAI, Anthropic, and Kimi means you can authenticate with your existing account. Tokens auto-refresh. Or forward your `codex login`, paste an API key, or use `${ENV_VAR}` references — your call.
- **Works everywhere Codex does.** Injects into Codex CLI, TUI, App, and SDK automatically. Routed models show up in Codex's model picker just like native ones.
- **History-safe injection.** On local installs the proxy points Codex's own built-in `openai` provider at itself via a single `openai_base_url` line — new threads keep their native provider tag, so ongoing chat history is never remapped and an unclean shutdown can't hide it. (Threads re-tagged by older versions are migrated back once on the first start; remote/LAN binds use a dedicated provider entry instead, since they need an API-key header.)
- **Delegate to the right model.** Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one. On the v2 multi-agent surface (GPT-5.6 Sol/Terra) the proxy injects compact, schema-agnostic delegation guidance: an eligible preferred sub-agent model and effort (`injectionModel` / `injectionEffort`), the configured intersection of Codex's picker-visible, v2-compatible, priority-sorted first five with available effort ladders, and the `fork_turns` rules that let cross-model `spawn_agent` calls apply their overrides. Known limitation: when a native parent spawns a routed child, the task body can currently arrive backend-encrypted and be lost ([#92](https://github.com/lidge-jun/opencodex/issues/92)) — use the v1 surface for reliable cross-provider delegation. Want your own wording? Set `injectionPrompt` with `{{model}}` / `{{effort}}` / `{{roster}}` placeholders.
- **Delegate to the right model.** Feature up to five routed or native models in Codex's subagent picker from the dashboard or config — route complex tasks to a reasoning model, fast tasks to a cheap one. On the v2 multi-agent surface (GPT-5.6 Sol/Terra) the proxy injects compact, schema-agnostic delegation guidance: an eligible preferred sub-agent model and effort (`injectionModel` / `injectionEffort`), the configured intersection of Codex's picker-visible, v2-compatible, priority-sorted first five with available effort ladders, and the `fork_turns` rules that let cross-model `spawn_agent` calls apply their overrides. Known limitation: when a native parent spawns a routed child, the task body can currently arrive backend-encrypted and be lost ([#92](https://github.com/OnlineChefGroep/opencodex/issues/92)) — use the v1 surface for reliable cross-provider delegation. Want your own wording? Set `injectionPrompt` with `{{model}}` / `{{effort}}` / `{{roster}}` placeholders.
- **Prepare for preview-gated OpenAI rollouts.** GPT-5.6 Sol/Terra/Luna entries preserve the upstream effort ladders. Direct/Multi use the 372k Codex contract; OpenAI API and OpenRouter use 1.05M metadata when upstream access is available.
- **Give any model superpowers.** Non-OpenAI models get real web search and image understanding via a `gpt-5.4-mini` sidecar over your ChatGPT login.
- **Generate images natively.** Codex's standalone `image_gen` tool uses `POST /v1/images/generations` for generation and `POST /v1/images/edits` for edits; it is separate from the hosted Responses `image_generation` tool.
Expand Down Expand Up @@ -510,7 +510,7 @@ Maintainer source-of-truth notes live under [`structure/`](./structure). Histori
Contributor setup lives in [`CONTRIBUTING.md`](./CONTRIBUTING.md), and security reporting guidance
lives in [`SECURITY.md`](./SECURITY.md).
Report undisclosed vulnerabilities privately through
[GitHub private vulnerability reporting](https://github.com/lidge-jun/opencodex/security/advisories/new),
[GitHub private vulnerability reporting](https://github.com/OnlineChefGroep/opencodex/security/advisories/new),
not a public issue.

## Development
Expand All @@ -519,7 +519,7 @@ Source development requires the `bun` CLI on your `PATH`. This is separate from
package's bundled Bun runtime, which is used only by installed `ocx` commands.

```bash
git clone https://github.com/lidge-jun/opencodex.git
git clone https://github.com/OnlineChefGroep/opencodex.git
cd opencodex
bun install
bun run dev:proxy # start the proxy API in dev mode
Expand Down
42 changes: 42 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Roadmap

Roadmap for [OnlineChefGroep/opencodex](https://github.com/OnlineChefGroep/opencodex).

## Vision

A fully self-sufficient fork with our own release cadence, feature set, and quality bar —
no longer dependent on upstream decisions or timelines.

## Short term (done)

- [x] **Independent versioning** — fully detached from upstream, own semver scheme
- [x] **All closed PRs merged** — Dutch GUI, Claude Desktop, combo/alias, cursor fixes, etc.
- [x] **Enhanced CI** — CodeQL, dependabot, security audit, workflow linting
- [x] **Release process**: main-only publishing via `.github/workflows/release.yml`
and `scripts/release.ts`, with review and promotion policy in `MAINTAINERS.md`

## Near term (next)

- [ ] **First fork release (`2.7.43`)**: publish from `main` on npm dist-tag `latest`
(prereleases use `X.Y.Z-preview.N` and ship on `preview`)
- [ ] **Release documentation**: add `VERSIONING.md`, `RELEASE_PROCESS.md`, and
`CHANGELOG.md` for the fork's release model
- [ ] **Update READMEs** — ensure all translated READMEs (ko, zh, ru, ja) reflect fork status
- [ ] **Clean up old tags** — remove stale upstream tags that don't point to our commits
- [ ] **Dependency audit** — review and update all dependencies (gui + root)
- [ ] **TypeScript strict mode** — enable `strict` in tsconfig and fix all violations

## Medium term

- [ ] **Custom provider: OnlineChef AI gateway** — first-party provider integration
- [ ] **Performance benchmarks** — proxy latency regression tests in CI
- [ ] **Improved documentation** — deploy docs to GitHub Pages for our fork
- [ ] **Automated dependency upgrades** — Dependabot auto-merge for non-breaking updates
- [ ] **Smoke test suite** — end-to-end tests that spin up the proxy and make real API calls

## Long term

- [ ] **Own GUI theme** — custom branding for the dashboard
- [ ] **Plugin system** — third-party provider adapters
- [ ] **Service mode improvements** — better systemd/launchd integration
- [ ] **Multi-host fleet management** — centralized config across machines
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Please avoid posting undisclosed vulnerabilities as public GitHub issues.
Report privately through GitHub private vulnerability reporting, which is enabled on this
repository:

**<https://github.com/lidge-jun/opencodex/security/advisories/new>**
**<https://github.com/OnlineChefGroep/opencodex/security/advisories/new>**

The same form is reachable from the repository's **Security** tab under **Report a vulnerability**.
It is private between you and the maintainers, and it is the only channel this project offers for
Expand Down
6 changes: 4 additions & 2 deletions docs-site/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,12 @@ export default defineConfig({
{ tag: "meta", attrs: { name: "theme-color", media: "(prefers-color-scheme: dark)", content: "#212121" } },
],
social: [
{ icon: "github", label: "GitHub", href: "https://github.com/lidge-jun/opencodex" },
{ icon: "github", label: "GitHub", href: "https://github.com/OnlineChefGroep/opencodex" },
],
editLink: {
baseUrl: "https://github.com/lidge-jun/opencodex/edit/main/docs-site/",
// `dev` is the only integration branch (see MAINTAINERS.md); `main` receives
// release promotions only, so "Edit page" must open a `dev` edit session.
baseUrl: "https://github.com/OnlineChefGroep/opencodex/edit/dev/docs-site/",
},
lastUpdated: true,
// English at the site root; Korean under /ko, Simplified Chinese under /zh-cn, Russian under /ru, Japanese under /ja.
Expand Down
4 changes: 2 additions & 2 deletions docs-site/src/components/Landing.astro
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ const docsMap = [
icon: 'folder',
links: [
{ label: t('Contributing', '기여하기', '贡献', 'Участие в проекте', 'コントリビュート'), href: `${prefix}contributing/` },
{ label: 'GitHub', href: 'https://github.com/lidge-jun/opencodex' },
{ label: 'GitHub', href: 'https://github.com/OnlineChefGroep/opencodex' },
{ label: 'npm', href: 'https://www.npmjs.com/package/@bitkyc08/opencodex' },
],
},
Expand Down Expand Up @@ -158,7 +158,7 @@ const docsMap = [
{t('Get Started', '시작하기', '快速开始', 'Начать', 'はじめに')}
<svg viewBox="0 0 16 16" width="14" height="14" fill="none" aria-hidden="true"><path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>
</a>
<a class="lp-btn-ghost" href="https://github.com/lidge-jun/opencodex">GitHub</a>
<a class="lp-btn-ghost" href="https://github.com/OnlineChefGroep/opencodex">GitHub</a>
</div>
<ul class="lp-chips" aria-label={t('Supported providers', '지원 프로바이더', '支持的 provider', 'Поддерживаемые провайдеры', '対応プロバイダー')}>
{providers.map((p) => (
Expand Down
2 changes: 1 addition & 1 deletion docs-site/src/components/SiteJsonLd.astro
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ if (!locale) {
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
softwareHelp: { '@type': 'CreativeWork', url: `${SITE_URL}/` },
downloadUrl: 'https://www.npmjs.com/package/@bitkyc08/opencodex',
url: 'https://github.com/lidge-jun/opencodex',
url: 'https://github.com/OnlineChefGroep/opencodex',
});
}

Expand Down
6 changes: 3 additions & 3 deletions docs-site/src/content/docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Source development requires the `bun` CLI on your `PATH`. The published npm pack
Bun runtime for users, but this checkout's scripts run through your local Bun installation.

```bash
git clone https://github.com/lidge-jun/opencodex.git
git clone https://github.com/OnlineChefGroep/opencodex.git
cd opencodex
bun install
bun run dev:proxy # proxy API in dev mode
Expand Down Expand Up @@ -93,7 +93,7 @@ bun run release:watch # watch the newest Release workflow run

The `dev2-go` line that carried the Go native port has been retired, and the
dual-track carry policy with it. Its history is published read-only at
[lidge-jun/opencodex-go-archive](https://github.com/lidge-jun/opencodex-go-archive).
[OnlineChefGroep/opencodex-go-archive](https://github.com/OnlineChefGroep/opencodex-go-archive).
Bun-native TypeScript on `dev` is the single runtime line.

Rebase pull requests are welcome. Bringing a stale branch onto the current head
Expand All @@ -110,7 +110,7 @@ description.
## Project maintainers

The current maintainers, their responsibilities, and the review and merge policy are documented in
[`MAINTAINERS.md`](https://github.com/lidge-jun/opencodex/blob/main/MAINTAINERS.md). GitHub review
[`MAINTAINERS.md`](https://github.com/OnlineChefGroep/opencodex/blob/main/MAINTAINERS.md). GitHub review
ownership for the repository and security-sensitive paths is declared in `.github/CODEOWNERS`.

## Conventions
Expand Down
Loading
Loading