Build a Nextcloud app on the Conduction stack — Part 7: The nc-vue component library
Parts 2–6 used a handful of nc-vue components by name (CnAppRoot, CnObjectSidebar, CnDashboardPage, CnMarkdownEditor). Part 7 completes the picture, organised by capability so you can reach for the right component the moment your PetStore app needs it.
Read moreBuild a Nextcloud app on the Conduction stack — Part 8: Document and showcase
Stand up the documentation site for the PetStore app you've built across Parts 1–7. Hosted from your Codeberg or GitHub repo via the central documentation workflow, illustrated with token-built screen mocks, and walked through with Playwright-captured screenshots. Every push to development rebuilds and republishes.
Government open source needs an engine, not pushers
Government is a great starter and a hopelessly bad ecosystem. An open source solution that lives only inside government dies of its single customer. KPN, Centric, and the market around them are standing by to keep the engine running. So step aside.
Spec-driven development with OpenSpec — let the AI write the code, you write the context
With OpenSpec, you stop hand-writing code and start writing context. Markdown specs describe what a feature must do. ADRs at org and app level govern how features hang together. An AI agent (Hydra) reads the spec, applies it, and a sequential quality + review harness validates the result. This tutorial walks the workflow, names the skills, and explains why "configuration over code" is the natural endpoint.
Build a Nextcloud app on the Conduction stack — Part 5: Advanced manifest features
Past the schema-driven CRUD basics, the v2.7.0 manifest schema gives you `actionToggles`, `fieldWidgets`, route-param sentinels, public-mode pages, and seven extra page types (form, wiki, search, roadmap, map, logs, settings). One tutorial that walks through each, using PetStore as the running example.
Build a Nextcloud app on the Conduction stack — Part 6: Integrate
Connect your shipped PetStore app to the rest of the workspace. Read suppliers from a second OpenRegister register, deepen the xWiki source from Part 4 into a per-order care-guide tab, then close the loop with a two-way order ↔ xWiki maintenance sync over an OpenConnector webhook.
OpenWoo community — two years of monthly meetings
Recordings of every public OpenWoo community meeting since 2023 — vendors, municipalities, KOOP, and executive agencies rolling out the Dutch Open Government Act (Woo) together on Common Ground foundations.
Nextcloud is not a suite, it is a platform
Or it should be. Nextcloud already has the substrate. What is missing is the naming, the composition layer, and an honest reframe by the buyers running European sovereign-workplace migrations.
Build a Nextcloud app on the Conduction stack — Part 4: Knowledge + ship
Spin up xWiki locally, author per-category care guides, surface them per pet via an OpenRegister care_guide schema, package the app, publish to the Conduction app store.
Build a Nextcloud app on the Conduction stack — Part 3: Schema-driven integrations
One calendarProvider block on the order schema. Order ship-dates appear in NC Calendar with no controller, no event listener, no per-app glue.
Claude Skills tutorial series — Part 1: What are Claude Skills?
What a Claude Skill is, when you should write one (and when a prompt or command is the better tool), what fields belong in the frontmatter, and how Claude decides when to trigger it. First of four short modules.
Claude Skills tutorial series — Part 2: Writing your first skill
Write a working Claude Skill from scratch — a mini-skill that summarises git statuses. Using /skill-creator as a starting point, a solid description, local testing, and adding it to your registry. Second of four short modules.
Claude Skills tutorial series — Part 3: Skill evals — measuring whether your skill actually works
From a skill that "feels right" to a skill that measurably works. Writing test scenarios, baseline measurement, trigger tests, and the eval runner inside /skill-creator. Third of four short modules.
Claude Skills tutorial series — Part 4: From measured to learning and orchestrating (L6 → L7)
How do you go beyond L5? L6 puts a learnings loop on your skill, L7 turns it into an orchestrator that steers sub-agents. Plus a look at the skill-level-overview dashboard that lets you scan your whole skill library for maturity at a glance. Fourth of four short modules.
Build a Nextcloud app on the Conduction stack — Part 2: Schemas + manifest
Define the category, pet, and order schemas in OpenRegister, declare them in a manifest.json, and watch CnAppRoot replace ~200 lines of hand-rolled Vue with three lines of config.
Hydra tutorial series — Part 1: What is Hydra?
A short introduction to Hydra, Conduction's agentic CI/CD platform. What it does, why it exists, and where it sits inside our app factory. The first of six short modules.
Hydra tutorial series — Part 2: The three pipelines
Build, code review and security review. Who does what, in what order, and how a label state machine stitches the whole ride together. The second of six short modules.
Hydra tutorial series — Part 3: Quality gates
What are Hydra's mechanical quality gates, why do they deliberately NOT rely on AI judgement, and what do you do when a gate misfires? The third of six short modules.
Hydra tutorial series — Part 4: Skills
Which skills run inside the automated Hydra factory, which exist for humans on the CLI, how they get invoked, and when you should add a new skill to the loop yourself. Fourth of six short modules.
Hydra tutorial series — Part 5: Starting a Hydra run on a real app
The full recipe from issue to green PR, including the HYDRA_LABEL_PREFIX setting that lets multiple devs run Hydra at the same time without overwriting each other's labels. Fifth of six short modules.
Hydra tutorial series — Part 6: Troubleshooting & escalation
What to do when the pipeline gets stuck. The menu of choices between development merge, label reset, retry:queued, and rebuild:queued — ordered from cheap to expensive. Last of six short modules.
OpenSpec tutorial series — Part 1: What is OpenSpec?
A short introduction to OpenSpec, the spec-first framework underneath almost every Conduction project. What a spec is, what a change is, and why we write things down before we build them. First of two short modules.
OpenSpec tutorial series — Part 2: Your first OpenSpec change
From empty folder to validated OpenSpec change. We start with /opsx-new, write a spec-delta with a requirement plus scenario, let /opsx-ff generate the rest, and validate the whole thing. Second of two short modules.
Build a Nextcloud app on the Conduction stack — Part 1: Scaffold
Clone the Conduction app template, rename it to PetStore, build, enable, and see the canonical app chassis. The first hands-on part of the nine-part app-building series, using the OpenAPI Pet Store as the running domain.
Run Nextcloud locally with Docker
Five steps, half an hour. After that you have a clean Nextcloud running on your laptop — even if you have never used Docker or a terminal before.
Upload files to a Woo publication
Four ways to attach documents to a Woo publication, from one PDF to a 6 MB report in chunks. With tested API calls.
Set up a Woo register in OpenRegister
Import the canonical Woo register into OpenRegister. One API call, ten TOOI categories, ready to store publications.
Build a Nextcloud app on the Conduction stack — Part 0: Three paths, one curriculum
Before you write a line of code, decide which of the three Conduction app-building paths fits the app you have in mind. Traditional Nextcloud, OpenRegister + nextcloud-vue, or full manifest. Each one builds on what the previous gives you, and the rest of the series teaches the manifest path because that is where the curve becomes steep in our favour.
Taming log noise with OpenTelemetry's drain processor
How a single processor cut our trace volume by 40 percent on the OpenRegister API.
Conduction is online
First post on the new Conduction site. The brand book moves here once the OpenCatalogi content plugin lands.
Set up the Conduction MCP server
Point Claude or any MCP-aware client at OpenRegister, then write your first MCP-driven query.
Replacing four SaaS subscriptions with five Conduction apps
How a Frisian municipality moved from four hosted services to a single Nextcloud workspace, in eleven weeks.
Managing OpenTelemetry semantic convention migrations with the collector
A 45-minute walk-through with live Q&A on rolling out semconv 1.27 across a fleet of services.
New posts in your inbox, monthly.
One mail a month. New guides, case studies, and webinars. No spam, unsubscribe any time.
We mail from [email protected]. No list reselling.
