diff --git a/CLAUDE.md b/CLAUDE.md index f11790d4..85b202f2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -121,7 +121,7 @@ This is intentional — the `application`-as-library packaging trips those check ### Asset downloads (rare) -Some plugins (`ndk-installer-plugin`, `ai-literacy-course`) register a `downloadAssets` task that fetches large files at build time with pinned-MD5 verification. These assets are **not committed to git** (e.g. `ai-literacy-course` pulls a ~110 MB course ZIP plus `pdfjs.zip`). `scripts/update-libs.sh` runs `downloadAssets` automatically before `assemblePlugin` when the build file references it. +Some plugins (`ndk-installer`, `ai-literacy-course`) register a `downloadAssets` task that fetches large files at build time with pinned-MD5 verification. These assets are **not committed to git** (e.g. `ai-literacy-course` pulls a ~110 MB course ZIP plus `pdfjs.zip`). `scripts/update-libs.sh` runs `downloadAssets` automatically before `assemblePlugin` when the build file references it. **Gotcha: a bare `./gradlew assemblePlugin` does NOT run `downloadAssets` and does not warn when the assets are missing** — it silently packages a broken `.cgp` (e.g. a course with no PDF viewer). When building such a plugin by hand, run `./gradlew downloadAssets assemblePlugin` (or the script), and confirm the expected files exist under `src/main/assets/` (or `unzip -l` the `.cgp`) before trusting it. diff --git a/ai-agent-gemini/README.md b/ai-agent-gemini/README.md index e5b5251d..e59e8f2b 100644 --- a/ai-agent-gemini/README.md +++ b/ai-agent-gemini/README.md @@ -2,8 +2,8 @@ Google Gemini API inference for CodeOnTheGo's AI plugins. Registers itself as the `gemini` backend with [`ai-core`](../ai-core/)'s `LlmInferenceService`, which is -what `ai-core`'s Agent chat, `code-suggestions-plugin`, `speech-to-text-plugin` and -`vector-search-plugin` actually talk to. +what `ai-core`'s Agent chat, `Code-Suggestions`, `Speech-to-Text` and +`Vector-Search` actually talk to. Calls the Generative Language REST API directly over `HttpURLConnection` rather than the google-genai SDK: the SDK bundles OkHttp 4.x, but plugins run in the diff --git a/ai-agent-local/README.md b/ai-agent-local/README.md index 25334e06..ae84920f 100644 --- a/ai-agent-local/README.md +++ b/ai-agent-local/README.md @@ -2,8 +2,8 @@ On-device GGUF inference for CodeOnTheGo's AI plugins. Registers itself as the `local` backend with [`ai-core`](../ai-core/)'s `LlmInferenceService`, which is -what `ai-core`'s Agent chat, `code-suggestions-plugin`, `speech-to-text-plugin` and -`vector-search-plugin` actually talk to. +what `ai-core`'s Agent chat, `Code-Suggestions`, `Speech-to-Text` and +`Vector-Search` actually talk to. Runs `.gguf` models through a bundled, prebuilt **llama.cpp** AAR. Declares no INTERNET permission — prompts and code never leave the device. Requires a 64-bit diff --git a/ai-agent-openai/README.md b/ai-agent-openai/README.md index d79bb0f5..b66a0381 100644 --- a/ai-agent-openai/README.md +++ b/ai-agent-openai/README.md @@ -2,8 +2,8 @@ OpenAI-compatible inference for CodeOnTheGo's AI plugins. Registers itself as the `openai` backend with [`ai-core`](../ai-core/)'s `LlmInferenceService`, which is -what `ai-core`'s Agent chat, `code-suggestions-plugin`, `speech-to-text-plugin` -and `vector-search-plugin` actually talk to. +what `ai-core`'s Agent chat, `Code-Suggestions`, `Speech-to-Text` +and `Vector-Search` actually talk to. **One backend, many servers.** It speaks `POST {baseUrl}/chat/completions`, and the base URL is a setting. Across OpenAI, Ollama, LM Studio, OpenRouter and diff --git a/ai-core/README.md b/ai-core/README.md index 4f0442ba..8ac40b4a 100644 --- a/ai-core/README.md +++ b/ai-core/README.md @@ -6,9 +6,9 @@ Two things in one plugin, and **mandatory for every AI feature**: the open project behind an approval gate, contributed as an editor tab plus a settings screen. 2. The **LLM inference router** — publishes `LlmInferenceService` through - `SharedServices`, which [`code-suggestions-plugin`](../code-suggestions-plugin/), - [`speech-to-text-plugin`](../speech-to-text-plugin/) and - [`vector-search-plugin`](../vector-search-plugin/) consume at runtime. + `SharedServices`, which [`Code-Suggestions`](../plugins/Code-Suggestions/), + [`Speech-to-Text`](../plugins/Speech-to-Text/) and + [`Vector-Search`](../plugins/Vector-Search/) consume at runtime. The Agent and the router shipped as separate `ai-assistant` and `ai-core` plugins until they were merged here; an existing install's settings and chat history are diff --git a/ai-literacy-course/build.gradle.kts b/ai-literacy-course/build.gradle.kts index 06342e17..6c97c479 100644 --- a/ai-literacy-course/build.gradle.kts +++ b/ai-literacy-course/build.gradle.kts @@ -85,7 +85,7 @@ tasks.matching { enabled = false } -// --- Build-time asset downloads (mirrors ndk-installer-plugin) --------------- +// --- Build-time asset downloads (mirrors ndk-installer) --------------- // // Neither the 110 MB course ZIP nor the PDF.js viewer is committed to git. This // task pulls each from its source and verifies a pinned MD5. scripts/update-libs.sh diff --git a/plugins/Code-Suggestions/README.md b/plugins/Code-Suggestions/README.md index 4a91a411..54be6251 100644 --- a/plugins/Code-Suggestions/README.md +++ b/plugins/Code-Suggestions/README.md @@ -47,8 +47,8 @@ Prerequisites: Android SDK (API 33+), JDK 17. Create `local.properties` with `sdk.dir=...`. No NDK or native toolchain. ```bash -cd code-suggestions-plugin -../gradlew assemblePlugin # release -> build/plugin/code-suggestions-plugin.cgp +cd Code-Suggestions +../gradlew assemblePlugin # release -> build/plugin/code-suggestions.cgp ../gradlew assemblePluginDebug # debug variant ``` @@ -57,7 +57,7 @@ The build resolves `plugin-api.jar` from the repo-root `../libs/`. ## Installation 1. Build and install **`ai-core` first** (see [`../ai-core/README.md`](../ai-core/README.md)). -2. Build this plugin, install `build/plugin/code-suggestions-plugin.cgp` via +2. Build this plugin, install `build/plugin/code-suggestions.cgp` via CodeOnTheGo's Plugin Manager, and restart the IDE. 3. Configure a model in **AI Assistant → AI Settings**. diff --git a/plugins/Code-Suggestions/settings.gradle.kts b/plugins/Code-Suggestions/settings.gradle.kts index bea1c17d..e76dc209 100644 --- a/plugins/Code-Suggestions/settings.gradle.kts +++ b/plugins/Code-Suggestions/settings.gradle.kts @@ -17,4 +17,4 @@ dependencyResolutionManagement { repositories { google(); mavenCentral() } } -rootProject.name = "code-suggestions-plugin" +rootProject.name = "code-suggestions" diff --git a/plugins/Flutter-Templates/README.md b/plugins/Flutter-Templates/README.md index 61c83ff0..7ab5189d 100644 --- a/plugins/Flutter-Templates/README.md +++ b/plugins/Flutter-Templates/README.md @@ -35,7 +35,7 @@ cd flutter-template ../gradlew clean assemblePlugin ``` -The `.cgp` lands in `build/plugin/fluttertemplate.cgp`. Install it from inside Code on the Go via +The `.cgp` lands in `build/plugin/flutter-templates.cgp`. Install it from inside Code on the Go via the Plugin Manager, then open **New Project** to see the Flutter templates. ## Note on the Flutter SDK diff --git a/plugins/Flutter-Templates/flutter-templates.html b/plugins/Flutter-Templates/flutter-templates.html index e10c2817..342a57e7 100644 --- a/plugins/Flutter-Templates/flutter-templates.html +++ b/plugins/Flutter-Templates/flutter-templates.html @@ -294,7 +294,7 @@

7. Credits

diff --git a/plugins/Flutter-Templates/settings.gradle.kts b/plugins/Flutter-Templates/settings.gradle.kts index aa421fc8..4fa7fb8d 100644 --- a/plugins/Flutter-Templates/settings.gradle.kts +++ b/plugins/Flutter-Templates/settings.gradle.kts @@ -27,4 +27,4 @@ dependencyResolutionManagement { } } -rootProject.name = "fluttertemplate" +rootProject.name = "flutter-templates" diff --git a/plugins/Get-AI-Models/settings.gradle.kts b/plugins/Get-AI-Models/settings.gradle.kts index 559bdba9..1156f779 100644 --- a/plugins/Get-AI-Models/settings.gradle.kts +++ b/plugins/Get-AI-Models/settings.gradle.kts @@ -27,4 +27,4 @@ dependencyResolutionManagement { } } -rootProject.name = "GetAiModelsPlugin" +rootProject.name = "get-ai-models" diff --git a/plugins/Icons-Repository/README.md b/plugins/Icons-Repository/README.md index ad2a332e..33bfe115 100644 --- a/plugins/Icons-Repository/README.md +++ b/plugins/Icons-Repository/README.md @@ -1,4 +1,4 @@ -### **IconsRepository-Plugin** +### **Icons Repository** **Version:** 1.0.1 @@ -34,7 +34,7 @@ Build command: ./gradlew assemblePlugin ``` -The signed `.cgp` artifact is written to `build/plugin/IconsRepository-Plugin.cgp`. Use `./gradlew assemblePluginDebug` for the debug variant. +The signed `.cgp` artifact is written to `build/plugin/icons-repository.cgp`. Use `./gradlew assemblePluginDebug` for the debug variant. ### **Usage** diff --git a/plugins/Icons-Repository/icons-repository.html b/plugins/Icons-Repository/icons-repository.html index 7709289f..1597552d 100644 --- a/plugins/Icons-Repository/icons-repository.html +++ b/plugins/Icons-Repository/icons-repository.html @@ -55,7 +55,7 @@

Icons Repository

Executive overview

- IconsRepository-Plugin is a sidebar extension for the Code On The Go IDE that lets developers browse a bundled library of Material-style icons and import any of them into the current Android project as a Vector Drawable XML. The plugin replaces the manual "find an SVG, convert it, copy it into res/drawable, fix the colors" loop with a single dialog: pick an icon, optionally pick a tint, hit Import. The result is committed-ready XML in the project's res/drawable directory with no external network calls and no SDK changes required. + Icons Repository is a sidebar extension for the Code On The Go IDE that lets developers browse a bundled library of Material-style icons and import any of them into the current Android project as a Vector Drawable XML. The plugin replaces the manual "find an SVG, convert it, copy it into res/drawable, fix the colors" loop with a single dialog: pick an icon, optionally pick a tint, hit Import. The result is committed-ready XML in the project's res/drawable directory with no external network calls and no SDK changes required.

The plugin targets Code On The Go versions 26.17 through 26.22 and runs on Android API 26 and above. @@ -110,7 +110,7 @@

Installation

  1. Open Code On The Go.
  2. Open the Plugin Manager.
  3. -
  4. Install IconsRepository-Plugin.
  5. +
  6. Install Icons Repository.

Importing an icon

diff --git a/plugins/Icons-Repository/settings.gradle.kts b/plugins/Icons-Repository/settings.gradle.kts index b21cc42c..741e3c86 100644 --- a/plugins/Icons-Repository/settings.gradle.kts +++ b/plugins/Icons-Repository/settings.gradle.kts @@ -28,4 +28,4 @@ dependencyResolutionManagement { } } -rootProject.name = "IconsRepository-Plugin" +rootProject.name = "icons-repository" diff --git a/plugins/Icons-Repository/src/main/AndroidManifest.xml b/plugins/Icons-Repository/src/main/AndroidManifest.xml index 0ab4a275..da4eb5f7 100644 --- a/plugins/Icons-Repository/src/main/AndroidManifest.xml +++ b/plugins/Icons-Repository/src/main/AndroidManifest.xml @@ -2,7 +2,7 @@ diff --git a/plugins/Jetpack-Compose-Preview/README.md b/plugins/Jetpack-Compose-Preview/README.md index 5a09488d..7bbce2d5 100644 --- a/plugins/Jetpack-Compose-Preview/README.md +++ b/plugins/Jetpack-Compose-Preview/README.md @@ -7,7 +7,7 @@ Surfaces as a preview action in the editor toolbar, shown only when a Kotlin fil ## Building ```sh -cd compose-preview +cd Jetpack-Compose-Preview ./gradlew assemblePlugin ``` diff --git a/plugins/Jetpack-Compose-Preview/settings.gradle.kts b/plugins/Jetpack-Compose-Preview/settings.gradle.kts index 69716d6a..0d17d77b 100644 --- a/plugins/Jetpack-Compose-Preview/settings.gradle.kts +++ b/plugins/Jetpack-Compose-Preview/settings.gradle.kts @@ -29,4 +29,4 @@ dependencyResolutionManagement { } } -rootProject.name = "compose-preview" +rootProject.name = "jetpack-compose-preview" diff --git a/plugins/Jetpack-Compose-Preview/src/main/kotlin/org/appdevforall/composepreview/ComposePreviewState.kt b/plugins/Jetpack-Compose-Preview/src/main/kotlin/org/appdevforall/composepreview/ComposePreviewState.kt index 6bde6a84..e2836380 100644 --- a/plugins/Jetpack-Compose-Preview/src/main/kotlin/org/appdevforall/composepreview/ComposePreviewState.kt +++ b/plugins/Jetpack-Compose-Preview/src/main/kotlin/org/appdevforall/composepreview/ComposePreviewState.kt @@ -3,7 +3,7 @@ package org.appdevforall.composepreview /** * Hands the current file + source from the toolbar/menu action to [ComposePreviewFragment] * across the openPluginScreen boundary (which carries no Bundle). Mirrors the - * SketchToUiState pattern used by sketch-to-ui-plugin. + * SketchToUiState pattern used by Sketch-to-UI. */ object ComposePreviewState { diff --git a/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorPlugin.kt b/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorPlugin.kt index f5c0f638..86ad9132 100644 --- a/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorPlugin.kt +++ b/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorPlugin.kt @@ -26,7 +26,7 @@ import java.io.File * * Surfaces a content-aware menu item (visible only when an Android layout `.xml` file is open) * that opens the editor full-screen via [IdeUIService.openPluginScreen], handing the target - * layout over through [LayoutEditorState]. Mirrors sketch-to-ui-plugin's proven pattern; the + * layout over through [LayoutEditorState]. Mirrors Sketch-to-UI's proven pattern; the * host's built-in PreviewLayout action is removed separately when the editor leaves the host build. */ class LayoutEditorPlugin : IPlugin, UIExtension, DocumentationExtension, BuildStatusListener { diff --git a/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorState.kt b/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorState.kt index 4e3560a4..aa8785dd 100644 --- a/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorState.kt +++ b/plugins/Layout-Editor/src/main/kotlin/org/appdevforall/codeonthego/layouteditor/LayoutEditorState.kt @@ -2,7 +2,7 @@ package org.appdevforall.codeonthego.layouteditor /** * Hands the current layout file from the toolbar action to [LayoutEditorFragment] across the - * openPluginScreen boundary (which carries no Bundle). Mirrors compose-preview's + * openPluginScreen boundary (which carries no Bundle). Mirrors Jetpack-Compose-Preview's * ComposePreviewState / sketch-to-ui's SketchToUiState pattern. * * The two values mirror the Intent extras the in-app EditorActivity used to receive: diff --git a/plugins/NDK-Installer/settings.gradle.kts b/plugins/NDK-Installer/settings.gradle.kts index a37ab066..b90c5fa9 100644 --- a/plugins/NDK-Installer/settings.gradle.kts +++ b/plugins/NDK-Installer/settings.gradle.kts @@ -1,4 +1,4 @@ -rootProject.name = "ndk-installer-plugin" +rootProject.name = "ndk-installer" pluginManagement { repositories { diff --git a/plugins/Rainbow-Brackets/README.md b/plugins/Rainbow-Brackets/README.md index 136a7710..b3d57571 100644 --- a/plugins/Rainbow-Brackets/README.md +++ b/plugins/Rainbow-Brackets/README.md @@ -1,4 +1,4 @@ -# rainbow-on-the-go +# Rainbow Brackets A Code On The Go plugin that colors matching parentheses, brackets, and braces by nesting depth — an opening delimiter and its match share a color, cycling through six @@ -18,8 +18,8 @@ no permissions, makes no network calls, and reads no files. ## Build ```sh -cd rainbow-on-the-go -./gradlew assemblePlugin # release .cgp -> build/plugin/rainbow-on-the-go.cgp +cd Rainbow-Brackets +./gradlew assemblePlugin # release .cgp -> build/plugin/rainbow-brackets.cgp ``` The plugin compiles against `../libs/plugin-api.jar`. If the `EditorDecorationProvider` API @@ -33,6 +33,6 @@ cd .. ## In-IDE help A walkthrough is served by the host IDE at -`http://localhost:6174/plugin/org.appdevforall.rainbowonthego/index.html` once installed +`http://localhost:6174/plugin/org.appdevforall.rainbowbrackets/index.html` once installed (source: `src/main/assets/docs/index.html`). Long-press is wired through `DocumentationExtension` for the three-tier tooltip help. diff --git a/plugins/Rainbow-Brackets/build.gradle.kts b/plugins/Rainbow-Brackets/build.gradle.kts index 83f2c456..56bd8556 100644 --- a/plugins/Rainbow-Brackets/build.gradle.kts +++ b/plugins/Rainbow-Brackets/build.gradle.kts @@ -11,11 +11,11 @@ pluginBuilder { } android { - namespace = "org.appdevforall.rainbowonthego" + namespace = "org.appdevforall.rainbowbrackets" compileSdk = 36 defaultConfig { - applicationId = "org.appdevforall.rainbowonthego" + applicationId = "org.appdevforall.rainbowbrackets" minSdk = 26 targetSdk = 36 versionCode = 1 @@ -62,7 +62,7 @@ tasks.wrapper { } // Disable AAR metadata checks that fail under the plugin-builder -// pipeline (Beepy + Forms use the same workaround). +// pipeline (Voice Alerts + Forms use the same workaround). tasks.matching { it.name.contains("checkDebugAarMetadata") || it.name.contains("checkReleaseAarMetadata") diff --git a/plugins/Rainbow-Brackets/proguard-rules.pro b/plugins/Rainbow-Brackets/proguard-rules.pro index 48d4a4ed..bf06dd3e 100644 --- a/plugins/Rainbow-Brackets/proguard-rules.pro +++ b/plugins/Rainbow-Brackets/proguard-rules.pro @@ -1,4 +1,4 @@ # Add project specific ProGuard rules here. # Keep plugin classes — the IDE loads them by reflection via plugin.main_class. --keep class org.appdevforall.rainbowonthego.** { *; } +-keep class org.appdevforall.rainbowbrackets.** { *; } diff --git a/plugins/Rainbow-Brackets/rainbow-brackets.html b/plugins/Rainbow-Brackets/rainbow-brackets.html index 78ad3c9e..9887090b 100644 --- a/plugins/Rainbow-Brackets/rainbow-brackets.html +++ b/plugins/Rainbow-Brackets/rainbow-brackets.html @@ -68,7 +68,7 @@

Contents

1. Executive Overview

-

RainbowOnTheGo makes nested code easier to read by coloring each pair of +

Rainbow Brackets makes nested code easier to read by coloring each pair of brackets according to how deeply it is nested. An opening delimiter and its matching closing delimiter share the same color, so you can see at a glance which ( pairs with which ), even in deeply nested expressions.

diff --git a/plugins/Rainbow-Brackets/settings.gradle.kts b/plugins/Rainbow-Brackets/settings.gradle.kts index 733ad5f6..a49afb8d 100644 --- a/plugins/Rainbow-Brackets/settings.gradle.kts +++ b/plugins/Rainbow-Brackets/settings.gradle.kts @@ -27,4 +27,4 @@ dependencyResolutionManagement { } } -rootProject.name = "rainbow-on-the-go" +rootProject.name = "rainbow-brackets" diff --git a/plugins/Rainbow-Brackets/src/main/AndroidManifest.xml b/plugins/Rainbow-Brackets/src/main/AndroidManifest.xml index 99eb3521..a63c246a 100644 --- a/plugins/Rainbow-Brackets/src/main/AndroidManifest.xml +++ b/plugins/Rainbow-Brackets/src/main/AndroidManifest.xml @@ -7,7 +7,7 @@ + android:value="org.appdevforall.rainbowbrackets" /> + android:value="org.appdevforall.rainbowbrackets.RainbowBracketsPlugin" /> + android:value="org.appdevforall.voicealerts" /> + android:value="org.appdevforall.voicealerts.VoiceAlertsPlugin" /> - Beepy + Voice Alerts Add earcons to build status \ No newline at end of file diff --git a/plugins/Voice-Alerts/voice-alerts.html b/plugins/Voice-Alerts/voice-alerts.html index bc3e6d83..a0873a09 100644 --- a/plugins/Voice-Alerts/voice-alerts.html +++ b/plugins/Voice-Alerts/voice-alerts.html @@ -91,7 +91,7 @@

Voice Alerts

Audible build-status earcons for Code On The Go

-
Version 1.0.0 · Author: App Dev for All · Package: com.example.beepy
+
Version 1.0.0 · Author: App Dev for All · Package: org.appdevforall.voicealerts