diff --git a/.github/workflows/LinkCheck.yml b/.github/workflows/LinkCheck.yml new file mode 100644 index 0000000..1013df4 --- /dev/null +++ b/.github/workflows/LinkCheck.yml @@ -0,0 +1,26 @@ +name: LinkCheck + +on: + push: + branches: + - main + tags: ["*"] + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + +jobs: + link-checker: + name: Link checker + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - name: Link Checker + id: lychee + uses: lycheeverse/lychee-action@v2 + with: + fail: true + args: --config '.lychee.toml' . diff --git a/.lychee.toml b/.lychee.toml new file mode 100644 index 0000000..e56c831 --- /dev/null +++ b/.lychee.toml @@ -0,0 +1,13 @@ +exclude = [ + "@ref", + "@cite", + "^https://github.com/.*/releases/tag/v.*$", + "^https://doi.org/FIXME$", + "zenodo.org/badge/DOI/FIXME$", + # docs/src/*.md references like ./assets/kaimon_*.gif are rewritten by the + # VitePress plugin (docs/src/.vitepress/config.mts) to point at the + # docs-assets GitHub Release at build time; lychee can't see that rewrite. + "docs/src/assets/kaimon_.*\\.gif$", +] + +exclude_path = ["docs/build"] diff --git a/README.md b/README.md index 5105d33..09d7dd1 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ kaimon The first run opens a setup wizard (security mode, API key, port). After that, the terminal dashboard launches: -![Kaimon dashboard](docs/src/assets/kaimon_overview.gif) +![Kaimon dashboard](https://github.com/kahliburke/Kaimon.jl/releases/download/docs-assets/kaimon_overview.gif) From the dashboard: - Press **`i`** in the Config tab to write MCP config for Claude Code, Cursor, VS Code, or Gemini CLI @@ -99,7 +99,7 @@ Full documentation: [kahliburke.github.io/Kaimon.jl](https://kahliburke.github.i - Julia 1.12+ - Any MCP-compatible client (Claude Code, Cursor, VS Code with MCP extension) - Optional: [Qdrant](https://qdrant.tech) for semantic code search -- Optional: [VS Code Remote Control](https://marketplace.visualstudio.com/items?itemName=nicollasricas.vscode-remote-control) extension for VS Code integration +- Optional: [VS Code Remote Control](https://github.com/estruyf/vscode-remote-control) extension for VS Code integration (auto-installed by Kaimon's setup wizard) ## Contributing diff --git a/docs/src/architecture.md b/docs/src/architecture.md index 8f5602d..753f495 100644 --- a/docs/src/architecture.md +++ b/docs/src/architecture.md @@ -176,7 +176,7 @@ The extension manager (`src/extension_manager.jl`) handles the lifecycle of `Man ## TUI Architecture The terminal dashboard (`src/tui.jl` and `src/tui/`) is built on -[Tachikoma.jl](https://github.com/kburke/Tachikoma.jl), a Julia TUI +[Tachikoma.jl](https://github.com/kahliburke/Tachikoma.jl), a Julia TUI framework. It follows the Elm architecture: ```mermaid diff --git a/docs/src/configuration.md b/docs/src/configuration.md index 0ff12ce..cdfff22 100644 --- a/docs/src/configuration.md +++ b/docs/src/configuration.md @@ -154,7 +154,7 @@ This is useful for restricting which operations MCP agents can perform in sensit ## TUI Configuration -The TUI (Terminal User Interface) built on [Tachikoma.jl](https://github.com/...) supports customization of: +The TUI (Terminal User Interface) built on [Tachikoma.jl](https://github.com/kahliburke/Tachikoma.jl) supports customization of: - **Themes** -- Visual appearance of the TUI panels and widgets - **Layouts** -- Panel arrangement, sizes, and visibility diff --git a/docs/src/extensions.md b/docs/src/extensions.md index c7d867d..cc73541 100644 --- a/docs/src/extensions.md +++ b/docs/src/extensions.md @@ -145,7 +145,7 @@ MyExtension.jl/ └── tui_panel.jl # optional TUI panel ``` -See [`examples/HelloExtension.jl`](https://github.com/kburke/Kaimon.jl/tree/main/examples/HelloExtension.jl) for a complete working example with tools, push-based panel updates, and a shutdown hook. +See [`examples/HelloExtension.jl`](https://github.com/kahliburke/Kaimon.jl/tree/main/examples/HelloExtension.jl) for a complete working example with tools, push-based panel updates, and a shutdown hook. ### `kaimon.toml` @@ -249,7 +249,7 @@ The `ctx` argument passed to `init`, `update!`, and `cleanup!` provides: ### Key Handling with @match -Use the `@match` macro (from [Match.jl](https://github.com/kmsquire/Match.jl), a Kaimon dependency) for clean dispatch: +Use the `@match` macro (from [Match.jl](https://github.com/JuliaServices/Match.jl), a Kaimon dependency) for clean dispatch: ```julia using Match diff --git a/docs/src/tools.md b/docs/src/tools.md index 5badb0c..173963d 100644 --- a/docs/src/tools.md +++ b/docs/src/tools.md @@ -129,7 +129,7 @@ Provide `project_path` (absolute path to the project) or `session` to identify t ## Semantic Search (Qdrant) -Semantic search requires [Qdrant](https://qdrant.tech/) running locally and [Ollama](https://ollama.ai/) for embeddings. The default embedding model is `qwen3-embedding:0.6b`. +Semantic search requires [Qdrant](https://qdrant.tech/) running locally and [Ollama](https://ollama.com/) for embeddings. The default embedding model is `qwen3-embedding:0.6b`. | Tool | Description | Key Parameters | |------|-------------|----------------|