Repository navigation
Conversation
kabaros
marked this pull request as draft
September 14, 2026 08:42
kabaros
force-pushed
the
modernise-skill
branch
from
September 14, 2026 15:42
7bf399f to
e31f538
Compare
Covers two independent modernisation tasks for existing DHIS2 apps: migrating the package manager from Yarn to pnpm, and moving off @dhis2/cli-style onto the shared @dhis2/config-* packages (eslint, prettier, stylelint, ls-lint, commitlint -- whichever the app already had configured), plus a non-breaking @dhis2/ui version bump. Removes @dhis2/cli-style only once every config it was proxying has a real replacement. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
kabaros
force-pushed
the
modernise-skill
branch
from
September 16, 2026 16:28
e31f538 to
69793fc
Compare
kabaros
marked this pull request as ready for review
September 18, 2026 11:27
KaiVandivier
approved these changes
Sep 18, 2026
…esh step Adds a third independent modernisation task -- moving bespoke GitHub Actions workflows onto dhis2/workflows-platform reusable workflows and bumping outdated actions/Node versions -- documented in the new references/ci-migration.md, including the known gap where lint.yml/lint-commits.yml/lint-pr-title.yml internally require @dhis2/cli-style and the pnpm-no-cli-style branch that fixes it. Also adds a README-refresh step to the pnpm migration (pnpm badge, an App Hub-sourced app description matched by d2.config.js's id, and a concise "Get Started" section replacing the scaffold's verbose per-script "Available Scripts" layout), extends the platform-library bump step to cover @dhis2/app-runtime and @dhis2/d2-i18n alongside @dhis2/ui (non-breaking by default, with an explicit choice offered if latest would cross a major), and extends the eval suite with dedicated CI-migration fixtures (a real app-management-app snapshot and a synthetic one to avoid the confound of a baseline agent finding an already-fixed real repo to copy). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
kabaros
force-pushed
the
modernise-skill
branch
from
September 18, 2026 12:57
69793fc to
90c0154
Compare
…I ref guidance Extracts platform-library version bumps (@dhis2/ui, @dhis2/app-runtime, @dhis2/d2-i18n, @dhis2/multi-calendar-dates) out of style-configs-migration.md into its own references/platform-library-bumps.md -- it's an orthogonal concern, not something that belongs in the cli-style migration doc. The @dhis2/multi-calendar-dates step now covers useDatePicker and the period-calculation helpers (getFixedPeriodByDate, getAdjacentFixedPeriods, etc.), not just getNowInCalendar -- dhis2/multi-calendar-dates#102 touched all of them. Adds guidance to write a before/after regression test across gregory/ethiopic/nepali before bumping, as a real committed test if the app has a test runner or a temporary standalone script otherwise. Also reflects that 3.x is now published as latest, not alpha-only. Corrects the dhis2/workflows-platform CI guidance: @v1 is yarn-only and its lint/lint-commits/lint-pr-title jobs require @dhis2/cli-style internally; the pnpm branch is pnpm-native but keeps that cli-style coupling; @v2 is pnpm-native without it. Which ref to use depends on the app's pnpm and cli-style status independently, not just "point at @pnpm". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… @dhis2/config-* packages @dhis2/config-eslint/prettier/stylelint/lslint/commitlint are now on the latest dist-tag, not alpha-only -- drop the alpha-tag guidance. Package.json examples resolve the actual current version via npm view/dist-tags rather than pinning the literal "latest" tag or a hardcoded version number. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
implements https://dhis2.atlassian.net/browse/LIBS-866
Adds a new
modernise-appsskill for bringing existing DHIS2 apps up to date, covering six things an app can need any combination of, or none:cli-app-scripts, converts the lockfile, and fixes the phantom-dependency issues Yarn 1's flat hoisting used to hide.@dhis2/cli-style→ shared configs — replacesd2-stylewith the new@dhis2/config-*packages (eslint, prettier, stylelint, ls-lint, commitlint — whichever the app already had configured) and moves git hooks to native husky/lint-staged.@dhis2/ui,@dhis2/app-runtime, and@dhis2/d2-i18n. Non-breaking (current major) by default for each; iflatestwould cross a major for any of them, that's treated as an explicit decision rather than taken silently.dhis2/workflows-platformreusable workflows wherever one exists, and bumps outdated actions and the Node version in whatever stays custom. Also documents a real gap:workflows-platform'slint.yml/lint-commits.yml/lint-pr-title.ymlinternally depend on@dhis2/cli-style(even on the@pnpmbranch), so an app that's migrated offcli-styleneeds a custom commitlint step — or thepnpm-no-cli-stylebranch, once published — instead of adopting those three as-is.workflows-platform's sharedrelease.ymlso releases publish to apps.dhis2.org automatically on every conventional-commit push, replacing the manual version-bump-and-draft-release flow. Offered when missing rather than added unprompted, since it needs an App Hub app ID and aDHIS2_BOT_APPHUB_TOKENsecret from the user.Each task ends with an install/build/lint pass, plus an optional opt-in e2e sanity check that boots the app against a real DHIS2 server and confirms it still renders after login.
Includes 10 evals (scaffolded + real-app fixtures, individual and combined, plus dedicated CI-migration fixtures) comparing with-skill vs. baseline agent runs.
Test plan
npx skills add /path/to/ai-devtools --skill modernise-apps -yagainst a real Yarn/cli-styleapp and confirm all tasks complete cleanlysrc/skills/modernise-apps-workspace)