Skip to content

Open-source cleanup of the modules repo - #70

Merged
niekcandaele merged 1 commit into
mainfrom
66-open-source-cleanup
Oct 17, 2026
Merged

niekcandaele merged 1 commit into
mainfrom
66-open-source-cleanup

Conversation

@niekcandaele

Copy link
Copy Markdown
Contributor

Summary

Turns gettakaro/modules into a repository an outsider can clone, install, build and contribute to, as the open-source home of Takaro's Official Registry. All private CI infrastructure and private package dependencies are gone, CI runs without secrets (so fork PRs go green), and the repo now has an MIT LICENSE, CONTRIBUTING.md and rewritten README/AGENTS.md. Terminal state: implemented and verified locally; CI pending.

Closes #66

Part of gettakaro/takaro#4616

What Changed

  • Private infra removed: docker-compose.ci.yml, containers/ (Kratos), scripts/ci-bootstrap.sh, src/scripts/ci-create-domain.ts, stale .claude/plans/.
  • Dependencies: only @takaro/apiclient (public npm, devDependency, ^0.7.5) and dotenv remain; the other seven private @takaro/* packages and pg are dropped. .npmrc pins the @takaro scope to public npm; lockfile regenerated (only registry.npmjs.org). No --legacy-peer-deps needed.
  • CI: rewritten to two secret-free jobs (check: build, typecheck, offline tests; minecraft-bot: bot unit test).
  • Offline test: test/module-conversion.test.ts converts every module directory with the existing converter and checks the output shape. npm test is now this; the old live suite moved to npm run test:live and is dormant (needs Takaro's mock game server package, not on public npm), with a README in test/.
  • Minecraft dev environment: bot/, Paper compose, plugin download and instance scripts moved to dev/minecraft/ with its own .env.example and README. Redis moved to test/docker-compose.yml.
  • Docs: new LICENSE (MIT) and CONTRIBUTING.md (official modules reviewed by the Takaro team); README and AGENTS.md rewritten to agree; .claude/skills paths updated.
  • Typecheck scope: live tests and helpers stay on disk, unmodified, but are excluded from the default typecheck.

Out of scope and untouched: registry build/validator/Pages (modules#67), moving built-ins (modules#68), any module content.

Reviewer Guide

  • Start here: .github/workflows/ci.yml, package.json, test/module-conversion.test.ts.
  • Pay attention to: git diff main --stat -- modules test/helpers shows only modules/README.md; live tests are intentionally unchanged.
  • Design decision: the offline conversion test is a stopgap smoke test that adds no naming or semver rules; the modules#67 validator will replace or extend it.

Testing Plan

Happy Path

  • rm -rf node_modules && NPM_CONFIG_USERCONFIG=/dev/null npm ci succeeds with no private registry.
  • npm run build && npm run typecheck && npm test pass; one passing case per module directory.
  • cd dev/minecraft/bot && npm ci && npm test passes.
  • Both CI jobs are green on this PR without any repository secrets.

Edge Cases

  • docker compose -f dev/minecraft/docker-compose.yml config -q and docker compose -f test/docker-compose.yml config -q parse.
  • bash -n passes for scripts/*.sh and dev/minecraft/*.sh.
  • git grep -niE 'kratos|mailhog|codeartifact|dkr\.ecr|AWS_|ai-module-writer|ci-bootstrap' returns nothing.

Regression Checks

  • ls modules/*/test/*.test.ts | wc -l is still 35.
  • scripts/module-push.sh and npm run module:to-json -- modules/hello-world still work.

Housekeeping

Renovate onboarding PR #1 is closed with gh after this PR is opened (the repo does not use Renovate; no bot config is added).

Drop private CI infrastructure, resolve dependencies from public npm,
move the Minecraft dev environment under dev/minecraft, run CI without
secrets, and add LICENSE, CONTRIBUTING and rewritten docs.
@niekcandaele niekcandaele mentioned this pull request Oct 17, 2026
@niekcandaele
niekcandaele merged commit 718a341 into main Oct 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Open-source cleanup of gettakaro/modules

1 participant