Skip to content
View cheroliv's full-sized avatar

Block or report cheroliv

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cheroliv/README.md

cheroliv

🇬🇧 English · 🇫🇷 Français · 🇨🇳 中文 · 🇮🇳 हिन्दी · 🇪🇸 Español · 🇸🇦 العربية · 🇧🇩 বাংলা · 🇵🇹 Português · 🇷🇺 Русский · 🇵🇰 اردو

Software Artisan · Trainer · Gradle Tooling Author

I design an ecosystem of Gradle Kotlin DSL plugins for project tooling, executable documentation, and educational content production. My raw materials: Kotlin, Gradle, AsciiDoc, LangChain4j, Koog.


Positioning

I work at the intersection of three domains:

  • Software Craftsmanship — TDD, BDD Cucumber, Hexagonal Architecture, Idiomatic Kotlin.
  • Developer Tooling — reusable Gradle plugins, published under the education.cccp namespace on the Maven Central.
  • EdTech — educational content, generated static sites, traceable training materials.

The coherence of it all stems from a simple conviction: a credible developer/trainer builds and uses their own tools. I don't sell what I don't use on a daily basis.


Methodology

The lifecycle I follow for each plugin:

  1. Business logic prototyping within the root build.gradle.kts, with relevant logs to validate behavior under real conditions.
  2. Plugin migration once the domain logic is stable — transplanting the proven code to a dedicated module, using TDD with JUnit 5.
  3. BDD with Cucumber as soon as the domain allows, to document intent at the user level.
  4. Publication to the Maven Central with a versioned API contract.

It's not a fancy method, but it's one that stands the test of time.


The education.cccp.* Ecosystem — 29 boroughs

The plugins are structured across 6 layers (DAG N0→N4 + N-IDE).

Foundation — reusable building blocks (N0)

Plugin Role
api-key-pool LLM API key pool with rotation (round-robin, least-used, weighted), quota tracking, audit logging.
graphify Knowledge graph extraction from workspace (nodes, edges, communities) → graph.json
agent-contracts Agent protocol contracts (shared kernel)
codebase-contracts Codebase RAG contracts (shared kernel)
vibecoding-contracts Vibecoding contracts (shared kernel)
llm-pool-contracts LLM API pool contracts (shared kernel)
pipeline-contracts Pipeline contracts (shared kernel)
i18n-contracts Internationalization contracts (shared kernel)
conventions 4 precompiled script plugins — build conventions (Cucumber, publishing, signing, functional test)
container-provision Docker/Colab runtime provisioning for LLM ops (Playwright, port pool, GPU passthrough)

Processor — RAG & datasets (N1)

Plugin Role
codebase In-build development assistant: project reading, pgvector RAG, LangChain4j context enrichment, AsciiDoc report generation, dataset creation.

Consumer — content generation (N2)

Plugin Role
planner LLM prompting for SPG/SPD (deepseek-v4-pro) — planning expert decomposes intention → EPICs → User Stories → Gradle tasks.
codex Asciidoctor→PDF, slides, document pipeline (READ + RAG).
slider Reveal.js presentation generation from AsciiDoc, with push to dedicated branch.
plantuml PlantUML syntax validation and rendering (PNG/SVG) via LLM (LangChain4j, 7 providers, RAG pgvector, KG, pool API keys).
readme Multilingual README generation with embedded PlantUML diagrams and GitHub Pages publication via JGit.
bakery JBake static site aggregating artifacts from other plugins (diagrams, slides, posts).
capsule Video capsule capture (reveal.js + Playwright + TTS).
training Training project orchestration — backlog synchronized with agent context files (AGENTS.md), course material pipeline (SPG→SPD→Slides→PDFs→Forms→Dashboard).
hyperframes AsciiDoc→MP4 via HyperFrames (HeyGen, Apache 2.0), Node.js bridge.
document AsciiDoc manipulation multi-format (HTML/PDF/EPUB/DocBook/ManPage) via AsciidoctorJ + AI-assisted generation (WRITE + PUBLISH).

Specialized tooling (N2)

Plugin Role
jhipster.persistence JHipster persistence orchestration (clean/generate/sync) without losing Kotlin code in __codebase__/.
jhipster.assistant JHipster AI assistant with RAG LLM.

Orchestrator — deployment (N3)

Plugin Role
runner DAG orchestration, provisioning CLI, deploy gh-pages. Terminal consumer, zero business logic.
dashboard Static site for workspace vision/tracking — aggregates INDEX.adoc and BACKLOG.adoc across boroughs. Zero LLM/RAG.
dashboard-flow Interactive React Flow knowledge graph visualization from graph.json (graphify).

Controller — agile & governance (N4)

Plugin Role
agile Agile piloting with AI assistant: 7 workshops (Vision→Architecture), backlog, sprints, velocity, milestones.
ticket GitHub ticket creation & tracking — backlog → Issues, Kanban board, commit↔ticket linking.
review AI-assisted code review: PR analysis, quality score, quality gates, secret detection.
flow Orchestration merge/close/CI: merge when gates OK, auto-close tickets, CI trigger.

Cockpit — IDE integration (N-IDE)

Plugin Role
workspace-agent IntelliJ Platform plugin — 5 dashboards (token consumption, KG, sessions, RAG, chains) + AI contextual menu actions.

Vestiges (inactive projects)

Plugin Status
magic-stick N2 — Xubuntu ISO builder (doc site, not plugin)
newpipe N2 — YouTube→MP3 extractor (abandoned)
notebook N2 — Colab observability (concept only)
office-template N? — empty template (to delete)

Environment & Workstation

A Gradle Kotlin DSL build script that orchestrates the creation of a bootable Xubuntu ISO — functioning as both a live USB and an installer, equipped with the necessary tooling tailored for three usage profiles:

  • Nomadic workstation — my complete portable environment on a USB drive.
  • FTTH Telecom Technician — ready-to-use field tooling.
  • Student/Trainee — immediate onboarding with no prior installation required.

The project illustrates the ecosystem's philosophy: the work environment itself is a reproducible, versioned, and documented artifact. The project's documentation is generated and published by bakery at cccp.education/magic-stick — proof that the publication pipeline runs in production.


Core Stack

Java · Kotlin · Gradle (Kotlin DSL) · JUnit 5 · Cucumber · Spring Boot · AsciiDoc · JBake · Reveal.js · PlantUML · JGit · Jackson · LangChain4j · Koog · Docker · PostgreSQL/pgvector · GitHub Actions · Xubuntu/Debian packaging.


Links


Pinned Loading

  1. playlist-downloader playlist-downloader Public

    🎧 YouTube Playlist Manager CLI: Open source command-line tool to create, manage, sync, and download your YouTube playlists. Based on Python, Typer, yt-dlp, and the YouTube Data API v3. Modular arch…

    Python 8

  2. cheroliv.github.io cheroliv.github.io Public

    static website based on jbake

    HTML

  3. millBakerPlugin millBakerPlugin Public

    🔨 Mill plugin → JBake → JGit → GitHubPages

    CSS 1

  4. millBaker millBaker Public

    🔨 Mill → JBake → JGit → GitHubPages

    CSS