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 — 25 boroughs

The plugins are structured around three roles across 4 layers (DAG N0→N4).

Foundation — reusable building blocks (N0)

Plugin Role
com.gradleup.nmcp.settings Maven Central publishing (nmcp)
education.cccp.agent-contracts Agent protocol contracts (shared kernel)
education.cccp.codebase-contracts Codebase RAG contracts (shared kernel)
education.cccp.vibecoding-contracts Vibecoding contracts (shared kernel)
education.cccp.llm-pool-contracts LLM API pool contracts (shared kernel)
education.cccp.pipeline-contracts Pipeline contracts (shared kernel)
education.cccp.i18n-contracts Internationalization contracts (shared kernel)

Scanner — workspace graph extraction (N0)

Plugin Role
education.cccp.graphify Knowledge graph extraction from workspace (nodes, edges, communities) → graph.json

Processor — RAG & datasets (N1)

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

Consumer — content generation (N2)

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

Orchestrator — deployment (N3)

Plugin Role
education.cccp.runner DAG orchestration, provisioning CLI, deploy gh-pages. Consommateur terminal, zéro logique métier.

Controller — agile & governance (N4)

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

Specialized tooling (N2)

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

Vestiges (inactive projects)

Plugin Status
com.cheroliv.magic-stick N2 — Xubuntu ISO builder (doc site, not plugin)
com.cheroliv.newpipe N2 — YouTube→MP3 extractor (abandoned)
com.cheroliv.notebook N2 — Colab observability (concept only)
com.cheroliv.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 education.cccp.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