{"owner":"conwnet","repo":"github1s","hasSkills":true,"totalSkillsCount":6,"totalTokensCount":2448,"categories":["project-spec","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["docs/architecture.md","extensions/elm-web/README.md","extensions/github1s-ai/README.md","extensions/nim-web/README.md","extensions/ocaml-web/README.md","extensions/vlang-web/README.md"],"skills":{"docs/architecture.md":"# Architecture\n\n[Documentation](guide.md) · [Development](development.md) · [Deployment](deployment.md)\n\nGitHub1s combines a browser build of VS Code with extensions that expose remote repositories as read-only workspaces. The browser loads files on demand through platform APIs and external code services. Pages Functions handle OAuth callbacks and a GitHub code-search proxy; a separate Worker supplies repository discovery snapshots.\n\n## Components\n\n| Component            | Responsibility                                                                     | Source                                                  |\n| -------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------- |\n| Web application      | Select the platform and workspace, load VS Code, and bridge browser authentication | [`src/`](../src/)                                       |\n| VS Code web package  | Build and package VS Code with GitHub1s-specific source overlays                   | [`vscode-web/`](../vscode-web/)                         |\n| Repository extension | Route repository URLs, provide files and search, and display history and diffs     | [`extensions/github1s/`](../extensions/github1s/)       |\n| AI extension         | Manage chat, model connections, repository context, and optional MCP tools         | [`extensions/github1s-ai/`](../extensions/github1s-ai/) |\n| Pages Functions      | Exchange OAuth authorization codes and proxy GitHub REST code search               | [`functions/`](../functions/)                           |\n| Discovery Worker     | Collect public repositories and publish scheduled snapshots                        | [`workers/discovery/`](../workers/discovery/)           |\n\nThe root `src/` directory is the application entry point. VS Code source overlays live under `vscode-web/src/`.\n\n## Opening a repository\n\n1. [`src/index.ts`](../src/index.ts) selects a platform from the hostname and extracts the repository or package from the path.\n2. [`src/config.ts`](../src/config.ts) creates the workspace configuration. GitHub, GitLab, and npm use different URI schemes; the GitHub home page opens Discovery.\n3. The [repository extension](../extensions/github1s/src/extension.ts) registers adapters and VS Code providers.\n4. A platform adapter parses the URL and supplies a data source. VS Code requests files, directory listings, or search results through the corresponding provider.\n5. The extension fetches data and presents it in the editor, Explorer, or source control views.\n\nThe file system providers are registered as read-only. The separate `/editor` entry opens an editor workspace without mounting a remote repository.\n\n```mermaid\nflowchart TD\n    Browser[Browser application] --> Workbench[VS Code workbench]\n    Workbench --> Repository[Repository extension]\n    Workbench --> AI[AI extension]\n    Repository --> APIs[GitHub / GitLab / npm data services]\n    Repository --> Search[Sourcegraph / searchcode]\n    Repository --> Proxy[Pages Function: code search]\n    Proxy --> GitHub[GitHub REST API]\n    Browser --> OAuth[Pages Functions: OAuth callbacks]\n    OAuth --> Identity[GitHub / GitLab OAuth]\n    Repository --> Snapshot[Discovery snapshot endpoint]\n    AI --> Context[Workspace files and search]\n    Context --> Repository\n    AI --> Model[Configured model endpoint]\n    AI --> MCP[Configured MCP servers]\n```\n\n## Repository adapters and search\n\nAdapters separate platform behavior from VS Code providers. Each adapter supplies URL parsing, data access, and the views supported by that platform. Start with the [adapter types](../extensions/github1s/src/adapters/types.ts) and [adapter registration](../extensions/github1s/src/adapters/index.ts) when changing a platform integration.\n\nGitHub data access uses REST and GraphQL. When **Prefer to use Sourcegraph API** is enabled, supported operations try Sourcegraph first. GitHub text search then falls back to searchcode, followed by GitHub REST code search through the same-origin `/api/github/search/code` proxy. Definition, reference, and hover results use Sourcegraph separately.\n\nThese services have different indexing, authentication, and query capabilities. The [usage guide](usage.md#search-and-code-navigation) describes the user-visible limitations. The current GitHub fallback sequence is implemented in [`data-source.ts`](../extensions/github1s/src/adapters/github1s/data-source.ts).\n\n## Authentication and data flow\n\nRepository tokens are persisted through VS Code extension global state in the browser. Direct authenticated repository API requests include the relevant token. The GitHub search fallback also sends the authorization header to the same-origin Pages Function, which forwards it to GitHub.\n\nOAuth uses a popup and a server-side callback. The callback exchanges the authorization code for a token, then returns the result to the browser. OAuth application secrets belong to the callback runtime. See [deployment configuration](deployment.md#configure-oauth) and [user authentication](usage.md#authentication-and-private-repositories).\n\nThe AI extension has a separate model configuration and conversation store. It sends conversation context and tool results to the selected model endpoint and can connect to user-configured MCP servers. See [AI data handling](ai.md#data-and-storage) for the boundaries users need to understand.\n\n## Repository discovery\n\nThe Discovery Worker runs GitHub Search queries on a schedule, combines their results into a snapshot, and stores it in Workers KV. The browser's Discovery adapter reads the public snapshot endpoint and renders repository collections as a virtual workspace.\n\nThis service is separate from repository file access. Its configuration, collection rules, and refresh behavior are documented in the [Discovery Worker README](../workers/discovery/README.md).\n\n## Builds and source overlays\n\nThe normal application build uses the published `@github1s/vscode-web` package, compiles the local extensions, and bundles the web entry with webpack. Output goes to `dist/`, with assets grouped under a directory derived from the Git commit.\n\nThe `vscode-web/` build clones the revision recorded in [`.VERSION`](../vscode-web/.VERSION), applies source overlays, and packages the result. Keeping that build separate lets most changes use the prebuilt editor. Changes to VS Code itself use the [full VS Code development workflow](development.md#develop-with-a-local-vs-code-build).\n","extensions/elm-web/README.md":"# This extension is a fork from [elm-language-client-vscode](https://github.com/elm-tooling/elm-language-client-vscode) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Elm Plugin for Visual Studio Code (VSCode)\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Downloads](https://vsmarketplacebadge.apphb.com/downloads-short/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n![Compile](https://github.com/elm-tooling/elm-language-client-vscode/workflows/Compile/badge.svg)\n\nSupports elm 0.19 and up\n\n## Highlighted Features\n\n- Syntax Highlighting\n","extensions/github1s-ai/README.md":"# GitHub1s AI\n\nGitHub1s AI is the built-in assistant for exploring code in GitHub1s. It combines chat, file and selection attachments, repository tools, and optional MCP connections with a user-configured model endpoint.\n\n## Use the assistant\n\nOpen **GitHub1s AI: Open AI Settings** from the Command Palette to add a model, then run **GitHub1s AI: Open Chat**.\n\nSee the [AI guide](https://github.com/conwnet/github1s/blob/master/docs/ai.md) for model configuration, context, tools, and data handling.\n\n## Development\n\nThe extension requires GitHub1s's browser workbench and repository providers. See the [development guide](https://github.com/conwnet/github1s/blob/master/docs/development.md) for running the complete application.\n","extensions/nim-web/README.md":"# This extension is a fork from [vscode-nim](https://github.com/saem/vscode-nim) for github1s\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Nim Extension\n\nVisual Studio:\n[![Version](https://vsmarketplacebadge.apphb.com/version/nimsaem.nimvscode.svg)](https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode)\n[![Ratings](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)\n\nOpen-VSX:\n[![Version](https://img.shields.io/open-vsx/v/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Installs](https://img.shields.io/open-vsx/dt/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Ratings](https://img.shields.io/open-vsx/rating/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n\nThis extension adds language support for the Nim language to VS Code, including:\n\n- Syntax Highlight (nim, nimble, nim.cfg)\n","extensions/ocaml-web/README.md":"# This extension is a fork from [vscode-ocaml-platform](https://github.com/ocamllabs/vscode-ocaml-platform) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# VSCode OCaml Platform\n\n[![Main workflow](https://img.shields.io/github/workflow/status/ocamllabs/vscode-ocaml-platform/Main%20workflow?branch=master)](https://github.com/ocamllabs/vscode-ocaml-platform/actions?query=workflow%3A%22Main+workflow%22+branch%3Amaster)\n\nVisual Studio Code extension for OCaml and relevant tools.\n\n_Please report any bugs you encounter._\n\n## Features\n\n- Syntax highlighting\n  - ATD\n  - Cram tests\n  - Dune\n  - Menhir\n  - Merlin\n  - META\n  - OASIS\n  - OCaml\n  - OCamlbuild\n  - OCamlFormat\n  - OCamllex\n  - opam\n  - ReasonML\n  - Eliom\n- Indentation rules\n- Snippets\n  - Dune\n  - OCaml\n  - OCamllex\n- Task Provider\n  - Dune\n","extensions/vlang-web/README.md":"# This extension is a fork from [vscode-vlang](https://github.com/vlang/vscode-vlang) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# V language support for Visual Studio Code\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vlang/vscode-vlang/CI)\n\nProvides [V language](https://vlang.io) support for Visual Studio Code.\n\n## Features\n\n- Syntax Highlighting\n\n## License\n\n[MIT](./LICENSE)\n"},"files":{"docs/architecture.md":"# Architecture\n\n[Documentation](guide.md) · [Development](development.md) · [Deployment](deployment.md)\n\nGitHub1s combines a browser build of VS Code with extensions that expose remote repositories as read-only workspaces. The browser loads files on demand through platform APIs and external code services. Pages Functions handle OAuth callbacks and a GitHub code-search proxy; a separate Worker supplies repository discovery snapshots.\n\n## Components\n\n| Component            | Responsibility                                                                     | Source                                                  |\n| -------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------- |\n| Web application      | Select the platform and workspace, load VS Code, and bridge browser authentication | [`src/`](../src/)                                       |\n| VS Code web package  | Build and package VS Code with GitHub1s-specific source overlays                   | [`vscode-web/`](../vscode-web/)                         |\n| Repository extension | Route repository URLs, provide files and search, and display history and diffs     | [`extensions/github1s/`](../extensions/github1s/)       |\n| AI extension         | Manage chat, model connections, repository context, and optional MCP tools         | [`extensions/github1s-ai/`](../extensions/github1s-ai/) |\n| Pages Functions      | Exchange OAuth authorization codes and proxy GitHub REST code search               | [`functions/`](../functions/)                           |\n| Discovery Worker     | Collect public repositories and publish scheduled snapshots                        | [`workers/discovery/`](../workers/discovery/)           |\n\nThe root `src/` directory is the application entry point. VS Code source overlays live under `vscode-web/src/`.\n\n## Opening a repository\n\n1. [`src/index.ts`](../src/index.ts) selects a platform from the hostname and extracts the repository or package from the path.\n2. [`src/config.ts`](../src/config.ts) creates the workspace configuration. GitHub, GitLab, and npm use different URI schemes; the GitHub home page opens Discovery.\n3. The [repository extension](../extensions/github1s/src/extension.ts) registers adapters and VS Code providers.\n4. A platform adapter parses the URL and supplies a data source. VS Code requests files, directory listings, or search results through the corresponding provider.\n5. The extension fetches data and presents it in the editor, Explorer, or source control views.\n\nThe file system providers are registered as read-only. The separate `/editor` entry opens an editor workspace without mounting a remote repository.\n\n```mermaid\nflowchart TD\n    Browser[Browser application] --> Workbench[VS Code workbench]\n    Workbench --> Repository[Repository extension]\n    Workbench --> AI[AI extension]\n    Repository --> APIs[GitHub / GitLab / npm data services]\n    Repository --> Search[Sourcegraph / searchcode]\n    Repository --> Proxy[Pages Function: code search]\n    Proxy --> GitHub[GitHub REST API]\n    Browser --> OAuth[Pages Functions: OAuth callbacks]\n    OAuth --> Identity[GitHub / GitLab OAuth]\n    Repository --> Snapshot[Discovery snapshot endpoint]\n    AI --> Context[Workspace files and search]\n    Context --> Repository\n    AI --> Model[Configured model endpoint]\n    AI --> MCP[Configured MCP servers]\n```\n\n## Repository adapters and search\n\nAdapters separate platform behavior from VS Code providers. Each adapter supplies URL parsing, data access, and the views supported by that platform. Start with the [adapter types](../extensions/github1s/src/adapters/types.ts) and [adapter registration](../extensions/github1s/src/adapters/index.ts) when changing a platform integration.\n\nGitHub data access uses REST and GraphQL. When **Prefer to use Sourcegraph API** is enabled, supported operations try Sourcegraph first. GitHub text search then falls back to searchcode, followed by GitHub REST code search through the same-origin `/api/github/search/code` proxy. Definition, reference, and hover results use Sourcegraph separately.\n\nThese services have different indexing, authentication, and query capabilities. The [usage guide](usage.md#search-and-code-navigation) describes the user-visible limitations. The current GitHub fallback sequence is implemented in [`data-source.ts`](../extensions/github1s/src/adapters/github1s/data-source.ts).\n\n## Authentication and data flow\n\nRepository tokens are persisted through VS Code extension global state in the browser. Direct authenticated repository API requests include the relevant token. The GitHub search fallback also sends the authorization header to the same-origin Pages Function, which forwards it to GitHub.\n\nOAuth uses a popup and a server-side callback. The callback exchanges the authorization code for a token, then returns the result to the browser. OAuth application secrets belong to the callback runtime. See [deployment configuration](deployment.md#configure-oauth) and [user authentication](usage.md#authentication-and-private-repositories).\n\nThe AI extension has a separate model configuration and conversation store. It sends conversation context and tool results to the selected model endpoint and can connect to user-configured MCP servers. See [AI data handling](ai.md#data-and-storage) for the boundaries users need to understand.\n\n## Repository discovery\n\nThe Discovery Worker runs GitHub Search queries on a schedule, combines their results into a snapshot, and stores it in Workers KV. The browser's Discovery adapter reads the public snapshot endpoint and renders repository collections as a virtual workspace.\n\nThis service is separate from repository file access. Its configuration, collection rules, and refresh behavior are documented in the [Discovery Worker README](../workers/discovery/README.md).\n\n## Builds and source overlays\n\nThe normal application build uses the published `@github1s/vscode-web` package, compiles the local extensions, and bundles the web entry with webpack. Output goes to `dist/`, with assets grouped under a directory derived from the Git commit.\n\nThe `vscode-web/` build clones the revision recorded in [`.VERSION`](../vscode-web/.VERSION), applies source overlays, and packages the result. Keeping that build separate lets most changes use the prebuilt editor. Changes to VS Code itself use the [full VS Code development workflow](development.md#develop-with-a-local-vs-code-build).\n","extensions/elm-web/README.md":"# This extension is a fork from [elm-language-client-vscode](https://github.com/elm-tooling/elm-language-client-vscode) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Elm Plugin for Visual Studio Code (VSCode)\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Downloads](https://vsmarketplacebadge.apphb.com/downloads-short/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n![Compile](https://github.com/elm-tooling/elm-language-client-vscode/workflows/Compile/badge.svg)\n\nSupports elm 0.19 and up\n\n## Highlighted Features\n\n- Syntax Highlighting\n","extensions/github1s-ai/README.md":"# GitHub1s AI\n\nGitHub1s AI is the built-in assistant for exploring code in GitHub1s. It combines chat, file and selection attachments, repository tools, and optional MCP connections with a user-configured model endpoint.\n\n## Use the assistant\n\nOpen **GitHub1s AI: Open AI Settings** from the Command Palette to add a model, then run **GitHub1s AI: Open Chat**.\n\nSee the [AI guide](https://github.com/conwnet/github1s/blob/master/docs/ai.md) for model configuration, context, tools, and data handling.\n\n## Development\n\nThe extension requires GitHub1s's browser workbench and repository providers. See the [development guide](https://github.com/conwnet/github1s/blob/master/docs/development.md) for running the complete application.\n","extensions/nim-web/README.md":"# This extension is a fork from [vscode-nim](https://github.com/saem/vscode-nim) for github1s\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Nim Extension\n\nVisual Studio:\n[![Version](https://vsmarketplacebadge.apphb.com/version/nimsaem.nimvscode.svg)](https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode)\n[![Ratings](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)\n\nOpen-VSX:\n[![Version](https://img.shields.io/open-vsx/v/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Installs](https://img.shields.io/open-vsx/dt/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Ratings](https://img.shields.io/open-vsx/rating/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n\nThis extension adds language support for the Nim language to VS Code, including:\n\n- Syntax Highlight (nim, nimble, nim.cfg)\n","extensions/ocaml-web/README.md":"# This extension is a fork from [vscode-ocaml-platform](https://github.com/ocamllabs/vscode-ocaml-platform) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# VSCode OCaml Platform\n\n[![Main workflow](https://img.shields.io/github/workflow/status/ocamllabs/vscode-ocaml-platform/Main%20workflow?branch=master)](https://github.com/ocamllabs/vscode-ocaml-platform/actions?query=workflow%3A%22Main+workflow%22+branch%3Amaster)\n\nVisual Studio Code extension for OCaml and relevant tools.\n\n_Please report any bugs you encounter._\n\n## Features\n\n- Syntax highlighting\n  - ATD\n  - Cram tests\n  - Dune\n  - Menhir\n  - Merlin\n  - META\n  - OASIS\n  - OCaml\n  - OCamlbuild\n  - OCamlFormat\n  - OCamllex\n  - opam\n  - ReasonML\n  - Eliom\n- Indentation rules\n- Snippets\n  - Dune\n  - OCaml\n  - OCamllex\n- Task Provider\n  - Dune\n","extensions/vlang-web/README.md":"# This extension is a fork from [vscode-vlang](https://github.com/vlang/vscode-vlang) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# V language support for Visual Studio Code\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vlang/vscode-vlang/CI)\n\nProvides [V language](https://vlang.io) support for Visual Studio Code.\n\n## Features\n\n- Syntax Highlighting\n\n## License\n\n[MIT](./LICENSE)\n"},"items":[{"name":"architecture.md","path":"docs/architecture.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/docs/architecture.md","title":"docs - System Architecture & Module Boundaries","category":"project-spec","format":"markdown","content":"# Architecture\n\n[Documentation](guide.md) · [Development](development.md) · [Deployment](deployment.md)\n\nGitHub1s combines a browser build of VS Code with extensions that expose remote repositories as read-only workspaces. The browser loads files on demand through platform APIs and external code services. Pages Functions handle OAuth callbacks and a GitHub code-search proxy; a separate Worker supplies repository discovery snapshots.\n\n## Components\n\n| Component            | Responsibility                                                                     | Source                                                  |\n| -------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------- |\n| Web application      | Select the platform and workspace, load VS Code, and bridge browser authentication | [`src/`](../src/)                                       |\n| VS Code web package  | Build and package VS Code with GitHub1s-specific source overlays                   | [`vscode-web/`](../vscode-web/)                         |\n| Repository extension | Route repository URLs, provide files and search, and display history and diffs     | [`extensions/github1s/`](../extensions/github1s/)       |\n| AI extension         | Manage chat, model connections, repository context, and optional MCP tools         | [`extensions/github1s-ai/`](../extensions/github1s-ai/) |\n| Pages Functions      | Exchange OAuth authorization codes and proxy GitHub REST code search               | [`functions/`](../functions/)                           |\n| Discovery Worker     | Collect public repositories and publish scheduled snapshots                        | [`workers/discovery/`](../workers/discovery/)           |\n\nThe root `src/` directory is the application entry point. VS Code source overlays live under `vscode-web/src/`.\n\n## Opening a repository\n\n1. [`src/index.ts`](../src/index.ts) selects a platform from the hostname and extracts the repository or package from the path.\n2. [`src/config.ts`](../src/config.ts) creates the workspace configuration. GitHub, GitLab, and npm use different URI schemes; the GitHub home page opens Discovery.\n3. The [repository extension](../extensions/github1s/src/extension.ts) registers adapters and VS Code providers.\n4. A platform adapter parses the URL and supplies a data source. VS Code requests files, directory listings, or search results through the corresponding provider.\n5. The extension fetches data and presents it in the editor, Explorer, or source control views.\n\nThe file system providers are registered as read-only. The separate `/editor` entry opens an editor workspace without mounting a remote repository.\n\n```mermaid\nflowchart TD\n    Browser[Browser application] --> Workbench[VS Code workbench]\n    Workbench --> Repository[Repository extension]\n    Workbench --> AI[AI extension]\n    Repository --> APIs[GitHub / GitLab / npm data services]\n    Repository --> Search[Sourcegraph / searchcode]\n    Repository --> Proxy[Pages Function: code search]\n    Proxy --> GitHub[GitHub REST API]\n    Browser --> OAuth[Pages Functions: OAuth callbacks]\n    OAuth --> Identity[GitHub / GitLab OAuth]\n    Repository --> Snapshot[Discovery snapshot endpoint]\n    AI --> Context[Workspace files and search]\n    Context --> Repository\n    AI --> Model[Configured model endpoint]\n    AI --> MCP[Configured MCP servers]\n```\n\n## Repository adapters and search\n\nAdapters separate platform behavior from VS Code providers. Each adapter supplies URL parsing, data access, and the views supported by that platform. Start with the [adapter types](../extensions/github1s/src/adapters/types.ts) and [adapter registration](../extensions/github1s/src/adapters/index.ts) when changing a platform integration.\n\nGitHub data access uses REST and GraphQL. When **Prefer to use Sourcegraph API** is enabled, supported operations try Sourcegraph first. GitHub text search then falls back to searchcode, followed by GitHub REST code search through the same-origin `/api/github/search/code` proxy. Definition, reference, and hover results use Sourcegraph separately.\n\nThese services have different indexing, authentication, and query capabilities. The [usage guide](usage.md#search-and-code-navigation) describes the user-visible limitations. The current GitHub fallback sequence is implemented in [`data-source.ts`](../extensions/github1s/src/adapters/github1s/data-source.ts).\n\n## Authentication and data flow\n\nRepository tokens are persisted through VS Code extension global state in the browser. Direct authenticated repository API requests include the relevant token. The GitHub search fallback also sends the authorization header to the same-origin Pages Function, which forwards it to GitHub.\n\nOAuth uses a popup and a server-side callback. The callback exchanges the authorization code for a token, then returns the result to the browser. OAuth application secrets belong to the callback runtime. See [deployment configuration](deployment.md#configure-oauth) and [user authentication](usage.md#authentication-and-private-repositories).\n\nThe AI extension has a separate model configuration and conversation store. It sends conversation context and tool results to the selected model endpoint and can connect to user-configured MCP servers. See [AI data handling](ai.md#data-and-storage) for the boundaries users need to understand.\n\n## Repository discovery\n\nThe Discovery Worker runs GitHub Search queries on a schedule, combines their results into a snapshot, and stores it in Workers KV. The browser's Discovery adapter reads the public snapshot endpoint and renders repository collections as a virtual workspace.\n\nThis service is separate from repository file access. Its configuration, collection rules, and refresh behavior are documented in the [Discovery Worker README](../workers/discovery/README.md).\n\n## Builds and source overlays\n\nThe normal application build uses the published `@github1s/vscode-web` package, compiles the local extensions, and bundles the web entry with webpack. Output goes to `dist/`, with assets grouped under a directory derived from the Git commit.\n\nThe `vscode-web/` build clones the revision recorded in [`.VERSION`](../vscode-web/.VERSION), applies source overlays, and packages the result. Keeping that build separate lets most changes use the prebuilt editor. Changes to VS Code itself use the [full VS Code development workflow](development.md#develop-with-a-local-vs-code-build).\n","isInternal":false,"tokens":1222,"sizeBytes":6540},{"name":"README.md","path":"extensions/elm-web/README.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/extensions/elm-web/README.md","title":"elm-web Documentation","category":"plugin-manifest","format":"markdown","content":"# This extension is a fork from [elm-language-client-vscode](https://github.com/elm-tooling/elm-language-client-vscode) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Elm Plugin for Visual Studio Code (VSCode)\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Downloads](https://vsmarketplacebadge.apphb.com/downloads-short/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n![Compile](https://github.com/elm-tooling/elm-language-client-vscode/workflows/Compile/badge.svg)\n\nSupports elm 0.19 and up\n\n## Highlighted Features\n\n- Syntax Highlighting\n","isInternal":false,"tokens":268,"sizeBytes":980},{"name":"README.md","path":"extensions/github1s-ai/README.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/extensions/github1s-ai/README.md","title":"github1s-ai Documentation","category":"plugin-manifest","format":"markdown","content":"# GitHub1s AI\n\nGitHub1s AI is the built-in assistant for exploring code in GitHub1s. It combines chat, file and selection attachments, repository tools, and optional MCP connections with a user-configured model endpoint.\n\n## Use the assistant\n\nOpen **GitHub1s AI: Open AI Settings** from the Command Palette to add a model, then run **GitHub1s AI: Open Chat**.\n\nSee the [AI guide](https://github.com/conwnet/github1s/blob/master/docs/ai.md) for model configuration, context, tools, and data handling.\n\n## Development\n\nThe extension requires GitHub1s's browser workbench and repository providers. See the [development guide](https://github.com/conwnet/github1s/blob/master/docs/development.md) for running the complete application.\n","isInternal":false,"tokens":165,"sizeBytes":731},{"name":"README.md","path":"extensions/nim-web/README.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/extensions/nim-web/README.md","title":"nim-web Documentation","category":"plugin-manifest","format":"markdown","content":"# This extension is a fork from [vscode-nim](https://github.com/saem/vscode-nim) for github1s\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Nim Extension\n\nVisual Studio:\n[![Version](https://vsmarketplacebadge.apphb.com/version/nimsaem.nimvscode.svg)](https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode)\n[![Ratings](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)\n\nOpen-VSX:\n[![Version](https://img.shields.io/open-vsx/v/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Installs](https://img.shields.io/open-vsx/dt/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Ratings](https://img.shields.io/open-vsx/rating/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n\nThis extension adds language support for the Nim language to VS Code, including:\n\n- Syntax Highlight (nim, nimble, nim.cfg)\n","isInternal":false,"tokens":313,"sizeBytes":1033},{"name":"README.md","path":"extensions/ocaml-web/README.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/extensions/ocaml-web/README.md","title":"ocaml-web Documentation","category":"plugin-manifest","format":"markdown","content":"# This extension is a fork from [vscode-ocaml-platform](https://github.com/ocamllabs/vscode-ocaml-platform) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# VSCode OCaml Platform\n\n[![Main workflow](https://img.shields.io/github/workflow/status/ocamllabs/vscode-ocaml-platform/Main%20workflow?branch=master)](https://github.com/ocamllabs/vscode-ocaml-platform/actions?query=workflow%3A%22Main+workflow%22+branch%3Amaster)\n\nVisual Studio Code extension for OCaml and relevant tools.\n\n_Please report any bugs you encounter._\n\n## Features\n\n- Syntax highlighting\n  - ATD\n  - Cram tests\n  - Dune\n  - Menhir\n  - Merlin\n  - META\n  - OASIS\n  - OCaml\n  - OCamlbuild\n  - OCamlFormat\n  - OCamllex\n  - opam\n  - ReasonML\n  - Eliom\n- Indentation rules\n- Snippets\n  - Dune\n  - OCaml\n  - OCamllex\n- Task Provider\n  - Dune\n","isInternal":false,"tokens":275,"sizeBytes":889},{"name":"README.md","path":"extensions/vlang-web/README.md","rawUrl":"https://raw.githubusercontent.com/conwnet/github1s/HEAD/extensions/vlang-web/README.md","title":"vlang-web Documentation","category":"plugin-manifest","format":"markdown","content":"# This extension is a fork from [vscode-vlang](https://github.com/vlang/vscode-vlang) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# V language support for Visual Studio Code\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vlang/vscode-vlang/CI)\n\nProvides [V language](https://vlang.io) support for Visual Studio Code.\n\n## Features\n\n- Syntax Highlighting\n\n## License\n\n[MIT](./LICENSE)\n","isInternal":false,"tokens":205,"sizeBytes":822}],"systemPromptSnippet":"<yakaai_skills repo=\"conwnet/github1s\">\n<!-- File: docs/architecture.md (Tokens: ~1222 | Category: project-spec) -->\n# Architecture\n\n[Documentation](guide.md) · [Development](development.md) · [Deployment](deployment.md)\n\nGitHub1s combines a browser build of VS Code with extensions that expose remote repositories as read-only workspaces. The browser loads files on demand through platform APIs and external code services. Pages Functions handle OAuth callbacks and a GitHub code-search proxy; a separate Worker supplies repository discovery snapshots.\n\n## Components\n\n| Component            | Responsibility                                                                     | Source                                                  |\n| -------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------- |\n| Web application      | Select the platform and workspace, load VS Code, and bridge browser authentication | [`src/`](../src/)                                       |\n| VS Code web package  | Build and package VS Code with GitHub1s-specific source overlays                   | [`vscode-web/`](../vscode-web/)                         |\n| Repository extension | Route repository URLs, provide files and search, and display history and diffs     | [`extensions/github1s/`](../extensions/github1s/)       |\n| AI extension         | Manage chat, model connections, repository context, and optional MCP tools         | [`extensions/github1s-ai/`](../extensions/github1s-ai/) |\n| Pages Functions      | Exchange OAuth authorization codes and proxy GitHub REST code search               | [`functions/`](../functions/)                           |\n| Discovery Worker     | Collect public repositories and publish scheduled snapshots                        | [`workers/discovery/`](../workers/discovery/)           |\n\nThe root `src/` directory is the application entry point. VS Code source overlays live under `vscode-web/src/`.\n\n## Opening a repository\n\n1. [`src/index.ts`](../src/index.ts) selects a platform from the hostname and extracts the repository or package from the path.\n2. [`src/config.ts`](../src/config.ts) creates the workspace configuration. GitHub, GitLab, and npm use different URI schemes; the GitHub home page opens Discovery.\n3. The [repository extension](../extensions/github1s/src/extension.ts) registers adapters and VS Code providers.\n4. A platform adapter parses the URL and supplies a data source. VS Code requests files, directory listings, or search results through the corresponding provider.\n5. The extension fetches data and presents it in the editor, Explorer, or source control views.\n\nThe file system providers are registered as read-only. The separate `/editor` entry opens an editor workspace without mounting a remote repository.\n\n```mermaid\nflowchart TD\n    Browser[Browser application] --> Workbench[VS Code workbench]\n    Workbench --> Repository[Repository extension]\n    Workbench --> AI[AI extension]\n    Repository --> APIs[GitHub / GitLab / npm data services]\n    Repository --> Search[Sourcegraph / searchcode]\n    Repository --> Proxy[Pages Function: code search]\n    Proxy --> GitHub[GitHub REST API]\n    Browser --> OAuth[Pages Functions: OAuth callbacks]\n    OAuth --> Identity[GitHub / GitLab OAuth]\n    Repository --> Snapshot[Discovery snapshot endpoint]\n    AI --> Context[Workspace files and search]\n    Context --> Repository\n    AI --> Model[Configured model endpoint]\n    AI --> MCP[Configured MCP servers]\n```\n\n## Repository adapters and search\n\nAdapters separate platform behavior from VS Code providers. Each adapter supplies URL parsing, data access, and the views supported by that platform. Start with the [adapter types](../extensions/github1s/src/adapters/types.ts) and [adapter registration](../extensions/github1s/src/adapters/index.ts) when changing a platform integration.\n\nGitHub data access uses REST and GraphQL. When **Prefer to use Sourcegraph API** is enabled, supported operations try Sourcegraph first. GitHub text search then falls back to searchcode, followed by GitHub REST code search through the same-origin `/api/github/search/code` proxy. Definition, reference, and hover results use Sourcegraph separately.\n\nThese services have different indexing, authentication, and query capabilities. The [usage guide](usage.md#search-and-code-navigation) describes the user-visible limitations. The current GitHub fallback sequence is implemented in [`data-source.ts`](../extensions/github1s/src/adapters/github1s/data-source.ts).\n\n## Authentication and data flow\n\nRepository tokens are persisted through VS Code extension global state in the browser. Direct authenticated repository API requests include the relevant token. The GitHub search fallback also sends the authorization header to the same-origin Pages Function, which forwards it to GitHub.\n\nOAuth uses a popup and a server-side callback. The callback exchanges the authorization code for a token, then returns the result to the browser. OAuth application secrets belong to the callback runtime. See [deployment configuration](deployment.md#configure-oauth) and [user authentication](usage.md#authentication-and-private-repositories).\n\nThe AI extension has a separate model configuration and conversation store. It sends conversation context and tool results to the selected model endpoint and can connect to user-configured MCP servers. See [AI data handling](ai.md#data-and-storage) for the boundaries users need to understand.\n\n## Repository discovery\n\nThe Discovery Worker runs GitHub Search queries on a schedule, combines their results into a snapshot, and stores it in Workers KV. The browser's Discovery adapter reads the public snapshot endpoint and renders repository collections as a virtual workspace.\n\nThis service is separate from repository file access. Its configuration, collection rules, and refresh behavior are documented in the [Discovery Worker README](../workers/discovery/README.md).\n\n## Builds and source overlays\n\nThe normal application build uses the published `@github1s/vscode-web` package, compiles the local extensions, and bundles the web entry with webpack. Output goes to `dist/`, with assets grouped under a directory derived from the Git commit.\n\nThe `vscode-web/` build clones the revision recorded in [`.VERSION`](../vscode-web/.VERSION), applies source overlays, and packages the result. Keeping that build separate lets most changes use the prebuilt editor. Changes to VS Code itself use the [full VS Code development workflow](development.md#develop-with-a-local-vs-code-build).\n\n<!-- File: extensions/elm-web/README.md (Tokens: ~268 | Category: plugin-manifest) -->\n# This extension is a fork from [elm-language-client-vscode](https://github.com/elm-tooling/elm-language-client-vscode) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Elm Plugin for Visual Studio Code (VSCode)\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Downloads](https://vsmarketplacebadge.apphb.com/downloads-short/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/Elmtooling.elm-ls-vscode.svg)](https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode)\n![Compile](https://github.com/elm-tooling/elm-language-client-vscode/workflows/Compile/badge.svg)\n\nSupports elm 0.19 and up\n\n## Highlighted Features\n\n- Syntax Highlighting\n\n<!-- File: extensions/github1s-ai/README.md (Tokens: ~165 | Category: plugin-manifest) -->\n# GitHub1s AI\n\nGitHub1s AI is the built-in assistant for exploring code in GitHub1s. It combines chat, file and selection attachments, repository tools, and optional MCP connections with a user-configured model endpoint.\n\n## Use the assistant\n\nOpen **GitHub1s AI: Open AI Settings** from the Command Palette to add a model, then run **GitHub1s AI: Open Chat**.\n\nSee the [AI guide](https://github.com/conwnet/github1s/blob/master/docs/ai.md) for model configuration, context, tools, and data handling.\n\n## Development\n\nThe extension requires GitHub1s's browser workbench and repository providers. See the [development guide](https://github.com/conwnet/github1s/blob/master/docs/development.md) for running the complete application.\n\n<!-- File: extensions/nim-web/README.md (Tokens: ~313 | Category: plugin-manifest) -->\n# This extension is a fork from [vscode-nim](https://github.com/saem/vscode-nim) for github1s\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# Nim Extension\n\nVisual Studio:\n[![Version](https://vsmarketplacebadge.apphb.com/version/nimsaem.nimvscode.svg)](https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode)\n[![Ratings](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)](https://vsmarketplacebadge.apphb.com/rating/nimsaem.nimvscode.svg)\n\nOpen-VSX:\n[![Version](https://img.shields.io/open-vsx/v/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Installs](https://img.shields.io/open-vsx/dt/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n[![Ratings](https://img.shields.io/open-vsx/rating/nimsaem/nimvscode)](https://open-vsx.org/extension/nimsaem/nimvscode)\n\nThis extension adds language support for the Nim language to VS Code, including:\n\n- Syntax Highlight (nim, nimble, nim.cfg)\n\n<!-- File: extensions/ocaml-web/README.md (Tokens: ~275 | Category: plugin-manifest) -->\n# This extension is a fork from [vscode-ocaml-platform](https://github.com/ocamllabs/vscode-ocaml-platform) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# VSCode OCaml Platform\n\n[![Main workflow](https://img.shields.io/github/workflow/status/ocamllabs/vscode-ocaml-platform/Main%20workflow?branch=master)](https://github.com/ocamllabs/vscode-ocaml-platform/actions?query=workflow%3A%22Main+workflow%22+branch%3Amaster)\n\nVisual Studio Code extension for OCaml and relevant tools.\n\n_Please report any bugs you encounter._\n\n## Features\n\n- Syntax highlighting\n  - ATD\n  - Cram tests\n  - Dune\n  - Menhir\n  - Merlin\n  - META\n  - OASIS\n  - OCaml\n  - OCamlbuild\n  - OCamlFormat\n  - OCamllex\n  - opam\n  - ReasonML\n  - Eliom\n- Indentation rules\n- Snippets\n  - Dune\n  - OCaml\n  - OCamllex\n- Task Provider\n  - Dune\n\n<!-- File: extensions/vlang-web/README.md (Tokens: ~205 | Category: plugin-manifest) -->\n# This extension is a fork from [vscode-vlang](https://github.com/vlang/vscode-vlang) for github1s.\n\n# At present only languages features is reserved\n\n# I have deleted some files and only reserved the necessary code\n\n# V language support for Visual Studio Code\n\n[![Version](https://vsmarketplacebadge.apphb.com/version/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n[![Installs](https://vsmarketplacebadge.apphb.com/installs/vlanguage.vscode-vlang.svg)](https://marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang)\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/vlang/vscode-vlang/CI)\n\nProvides [V language](https://vlang.io) support for Visual Studio Code.\n\n## Features\n\n- Syntax Highlighting\n\n## License\n\n[MIT](./LICENSE)\n</yakaai_skills>"}