diff --git a/.gitignore b/.gitignore index ea7cfbc..a40beb0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ .wrangler/ node_modules/ -# Runner-setup prompt; holds a Gitea registration token once filled in. +# Runner-setup prompt; may hold a runner registration token once filled in. /prompt.txt # Local test credentials diff --git a/AGENTS.md b/AGENTS.md index 3efcae1..e9009a0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -68,7 +68,7 @@ a design against the 0.1.15 teardown), MCP servers on protocol 2026-07-28 ## Hard constraints - **Zero egress**: only `auth.kimi.com`, `api.kimi.com`, `api.moonshot.cn`, - `api.moonshot.ai`, Gitea Releases (`git.zacharyzhang.com`), user-configured MCP servers, credentialed + `api.moonshot.ai`, GitHub Releases, user-configured MCP servers, credentialed provider endpoints, and `models.dev` (metadata refresh, ONLY when an enabled platform's `/models` lacks it — `wire_serves_metadata=false`, never Kimi/Moonshot, `KIGI_MODELS_DEV_URL=0` disables). No telemetry, no analytics, @@ -640,4 +640,4 @@ client-side, no backend surface. grok.com references live only there and in `kigi-sampler`/proxy types. - M2: server-side search/fetch (F5), command parity with kimi-cli 1.49.0 (F6), one-time `~/.kimi/config.toml` import (F7), F9 smoke list, perf CI. -- M3: Gitea Releases distribution, install scripts, self-update (F8). +- M3: GitHub Releases distribution, install scripts, self-update (F8). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 94c51d6..6a729bd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,16 +21,9 @@ cargo deny check advisories - Upstream syncs are evaluated commit-by-commit and cherry-picked manually; see the PRD §8.1 policy (`git range-diff` records the adopted set). -## Opening a pull request on git.zacharyzhang.com +## Opening a pull request -Forking is disabled on this server. Open pull requests with AGit instead: - -1. Register an account at https://git.zacharyzhang.com -2. Clone, commit your changes, then push to a `refs/for/` ref: - - ```bash - git clone https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI.git - git push origin HEAD:refs/for/main -o topic= -o title="" -o description="" - ``` - -3. To update the pull request, push again with the same `topic`. +Fork [ELY-Open-Source/Kigi-CLI](https://github.com/ELY-Open-Source/Kigi-CLI), +push your branch to the fork, and open a pull request against `main`. Report +bugs and request features on the +[issue tracker](https://github.com/ELY-Open-Source/Kigi-CLI/issues). diff --git a/NOTICE b/NOTICE index d841538..f0233d7 100644 --- a/NOTICE +++ b/NOTICE @@ -14,7 +14,7 @@ Modifications relative to the upstream work (Apache License 2.0 §4(b) notice): subscription-proxy endpoints. - Endpoints re-targeted at the Kimi Code subscription API (api.kimi.com/coding/v1), the Moonshot open platform (api.moonshot.cn/v1, - api.moonshot.ai/v1), and Gitea Releases (git.zacharyzhang.com) for self-update. + api.moonshot.ai/v1), and GitHub Releases for self-update. This product includes code ported from openai/codex and sst/opencode; see crates/codegen/kigi-tools/THIRD_PARTY_NOTICES.md for the license terms and diff --git a/SECURITY.md b/SECURITY.md index 978e13f..ae89fbd 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,7 +1,7 @@ # Security Policy Kigi is a community build; report vulnerabilities on the -[Kigi issue tracker](https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/issues). +[Kigi issue tracker](https://github.com/ELY-Open-Source/Kigi-CLI/issues). Issues there are public, so please leave out any detail that would make a report directly exploitable — open with the affected area and impact, and a maintainer will follow up for the rest. diff --git a/crates/codegen/kigi-env/src/lib.rs b/crates/codegen/kigi-env/src/lib.rs index 8a9ed24..66dc98d 100644 --- a/crates/codegen/kigi-env/src/lib.rs +++ b/crates/codegen/kigi-env/src/lib.rs @@ -21,7 +21,7 @@ pub struct KigiEndpoints { pub const PRODUCTION_ENDPOINTS: KigiEndpoints = KigiEndpoints { coding_api_base_url: "https://api.kimi.com/coding/v1", oauth_host: "https://auth.kimi.com", - update_base_url: "https://git.zacharyzhang.com/api/v1/repos/ZacharyZhang-NY/Kigi-CLI/releases", + update_base_url: "https://api.github.com/repos/ELY-Open-Source/Kigi-CLI/releases", upgrade_page_url: "https://www.kimi.com/code/", }; diff --git a/crates/codegen/kigi-shell/src/agent/feedback_client.rs b/crates/codegen/kigi-shell/src/agent/feedback_client.rs index 258caf7..bb5c07e 100644 --- a/crates/codegen/kigi-shell/src/agent/feedback_client.rs +++ b/crates/codegen/kigi-shell/src/agent/feedback_client.rs @@ -12,7 +12,7 @@ use std::sync::Arc; use serde::Serialize; /// Where non-subscription users (no OAuth session) submit feedback instead. -pub const FEEDBACK_ISSUES_URL: &str = "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/issues"; +pub const FEEDBACK_ISSUES_URL: &str = "https://github.com/ELY-Open-Source/Kigi-CLI/issues/new"; /// HTTP error from the feedback endpoint with a preserved status code, so /// callers can distinguish auth failures (401) without string matching. diff --git a/crates/codegen/kigi-tui/src/slash/commands/docs.rs b/crates/codegen/kigi-tui/src/slash/commands/docs.rs index 9c6fae9..648e49d 100644 --- a/crates/codegen/kigi-tui/src/slash/commands/docs.rs +++ b/crates/codegen/kigi-tui/src/slash/commands/docs.rs @@ -10,7 +10,7 @@ use crate::slash::command::{AppCtx, ArgItem, CommandExecCtx, CommandResult, Slas /// Online docs landing page (hardcoded like other TUI deep-links; the /// project README is the docs entry point for the repo-hosted docs). -pub const BUILD_DOCS_URL: &str = "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/src/branch/main/README.md"; +pub const BUILD_DOCS_URL: &str = "https://github.com/ELY-Open-Source/Kigi-CLI/blob/main/README.md"; /// Open How-to Guides or online Build docs. pub struct DocsCommand; diff --git a/crates/codegen/kigi-tui/src/slash/commands/feedback.rs b/crates/codegen/kigi-tui/src/slash/commands/feedback.rs index 009d56b..e2814f1 100644 --- a/crates/codegen/kigi-tui/src/slash/commands/feedback.rs +++ b/crates/codegen/kigi-tui/src/slash/commands/feedback.rs @@ -6,7 +6,7 @@ use crate::slash::command::{CommandExecCtx, CommandResult, SlashCommand}; /// Where feedback goes: the project's own issue tracker. Kigi is a community /// build, so its feedback belongs on its own repo — mirroring the official /// kimi-cli, whose `/feedback` opens its repo's issues page. -pub const FEEDBACK_ISSUES_URL: &str = "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/issues"; +pub const FEEDBACK_ISSUES_URL: &str = "https://github.com/ELY-Open-Source/Kigi-CLI/issues/new"; /// Open the Kigi issue tracker in the browser. pub struct FeedbackCommand; diff --git a/crates/codegen/kigi-update/src/auto_update.rs b/crates/codegen/kigi-update/src/auto_update.rs index 0dc9ece..f26e1d7 100644 --- a/crates/codegen/kigi-update/src/auto_update.rs +++ b/crates/codegen/kigi-update/src/auto_update.rs @@ -695,7 +695,7 @@ pub(crate) fn detect_platform() -> Result<(&'static str, &'static str)> { /// Rust target triple for this build — the key that maps a platform to its /// release-asset name. Must stay in lockstep with the five targets built by -/// `.gitea/workflows/release.yml` and the tables in install.sh/install.ps1. +/// `.github/workflows/release.yml` and the tables in install.sh/install.ps1. pub(crate) fn target_triple() -> Result<&'static str> { let triple = if cfg!(all(target_os = "macos", target_arch = "aarch64")) { "aarch64-apple-darwin" @@ -2653,7 +2653,7 @@ mod tests { #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] #[test] fn test_release_asset_name_matches_release_workflow_naming() { - // Must stay in lockstep with .gitea/workflows/release.yml, which + // Must stay in lockstep with .github/workflows/release.yml, which // publishes kigi--.{tar.gz|zip}. let triple = target_triple().unwrap(); assert!( diff --git a/crates/codegen/kigi-update/src/version.rs b/crates/codegen/kigi-update/src/version.rs index 827d429..fbfd83e 100644 --- a/crates/codegen/kigi-update/src/version.rs +++ b/crates/codegen/kigi-update/src/version.rs @@ -10,7 +10,7 @@ const TTL_SECONDS_BEFORE_AUTO_UPDATE: Duration = Duration::from_secs(60 * 30); /// Release channel: this repo's Releases (PRD F8). The API base is resolved /// through [`kigi_env::update_base_url`] — production default -/// `https://git.zacharyzhang.com/api/v1/repos/ZacharyZhang-NY/Kigi-CLI/releases`, +/// `https://api.github.com/repos/ELY-Open-Source/Kigi-CLI/releases`, /// overridable via `KIGI_UPDATE_BASE_URL` for mirrors and tests. pub(crate) fn update_base_url() -> String { kigi_env::update_base_url() @@ -533,7 +533,7 @@ mod tests { #[test] fn test_release_json_parses_github_wire_shape() { let json = r#"{ - "url": "https://git.zacharyzhang.com/api/v1/repos/ZacharyZhang-NY/Kigi-CLI/releases/1", + "url": "https://api.github.com/repos/ELY-Open-Source/Kigi-CLI/releases/1", "tag_name": "v0.1.0", "name": "Kigi 0.1.0", "draft": false, @@ -541,13 +541,13 @@ mod tests { "assets": [ { "name": "kigi-0.1.0-aarch64-apple-darwin.tar.gz", - "browser_download_url": "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/releases/download/v0.1.0/kigi-0.1.0-aarch64-apple-darwin.tar.gz", + "browser_download_url": "https://github.com/ELY-Open-Source/Kigi-CLI/releases/download/v0.1.0/kigi-0.1.0-aarch64-apple-darwin.tar.gz", "size": 123, "content_type": "application/gzip" }, { "name": "SHA256SUMS", - "browser_download_url": "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/releases/download/v0.1.0/SHA256SUMS" + "browser_download_url": "https://github.com/ELY-Open-Source/Kigi-CLI/releases/download/v0.1.0/SHA256SUMS" } ] }"#; @@ -560,7 +560,7 @@ mod tests { let asset = r.asset("kigi-0.1.0-aarch64-apple-darwin.tar.gz").unwrap(); assert_eq!( asset.browser_download_url, - "https://git.zacharyzhang.com/ZacharyZhang-NY/Kigi-CLI/releases/download/v0.1.0/kigi-0.1.0-aarch64-apple-darwin.tar.gz" + "https://github.com/ELY-Open-Source/Kigi-CLI/releases/download/v0.1.0/kigi-0.1.0-aarch64-apple-darwin.tar.gz" ); assert_eq!( r.asset("SHA256SUMS").unwrap().name, diff --git a/crates/codegen/kigi-update/tests/common/mod.rs b/crates/codegen/kigi-update/tests/common/mod.rs index 2e3d067..76c10ce 100644 --- a/crates/codegen/kigi-update/tests/common/mod.rs +++ b/crates/codegen/kigi-update/tests/common/mod.rs @@ -114,7 +114,7 @@ pub fn host_platform() -> String { } /// Host Rust target triple, matching `auto_update::target_triple()` and the -/// release-asset naming in `.gitea/workflows/release.yml`. +/// release-asset naming in `.github/workflows/release.yml`. pub fn host_triple() -> &'static str { if cfg!(all(target_os = "macos", target_arch = "aarch64")) { "aarch64-apple-darwin" diff --git a/install.ps1 b/install.ps1 index 12149f3..193862f 100644 --- a/install.ps1 +++ b/install.ps1 @@ -11,7 +11,7 @@ # Environment: # KIGI_SHARE_DIR install root (default: %USERPROFILE%\.kigi) # KIGI_UPDATE_BASE_URL releases API base, GitHub/Gitea-shaped (default: -# https://git.zacharyzhang.com/api/v1/repos/ZacharyZhang-NY/Kigi-CLI/releases) +# https://api.github.com/repos/ELY-Open-Source/Kigi-CLI/releases) [CmdletBinding()] param( @@ -26,8 +26,8 @@ function Fail([string]$Message) { exit 1 } -$Repo = "ZacharyZhang-NY/Kigi-CLI" -$ApiBase = if ($env:KIGI_UPDATE_BASE_URL) { $env:KIGI_UPDATE_BASE_URL } else { "https://git.zacharyzhang.com/api/v1/repos/$Repo/releases" } +$Repo = "ELY-Open-Source/Kigi-CLI" +$ApiBase = if ($env:KIGI_UPDATE_BASE_URL) { $env:KIGI_UPDATE_BASE_URL } else { "https://api.github.com/repos/$Repo/releases" } $KigiHome = if ($env:KIGI_SHARE_DIR) { $env:KIGI_SHARE_DIR } else { Join-Path $env:USERPROFILE ".kigi" } $Triple = "x86_64-pc-windows-msvc" diff --git a/install.sh b/install.sh index ec0d13a..d468ca6 100644 --- a/install.sh +++ b/install.sh @@ -14,14 +14,14 @@ # Environment: # KIGI_SHARE_DIR install root (default: ~/.kigi) # KIGI_UPDATE_BASE_URL releases API base, GitHub/Gitea-shaped (default: -# https://git.zacharyzhang.com/api/v1/repos/ZacharyZhang-NY/Kigi-CLI/releases) +# https://api.github.com/repos/ELY-Open-Source/Kigi-CLI/releases) # # Fails fast on any error; never leaves a partial binary as the active kigi. set -eu -REPO="ZacharyZhang-NY/Kigi-CLI" -API_BASE="${KIGI_UPDATE_BASE_URL:-https://git.zacharyzhang.com/api/v1/repos/${REPO}/releases}" +REPO="ELY-Open-Source/Kigi-CLI" +API_BASE="${KIGI_UPDATE_BASE_URL:-https://api.github.com/repos/${REPO}/releases}" KIGI_HOME="${KIGI_SHARE_DIR:-$HOME/.kigi}" err() {