dev-cycle

SkillWeb & browsing

Lets your agent run and debug crawlberg build, install, format, and e2e test cycles via ready-made Taskfile tasks.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the dev-cycle skill

About this capability

Crawlberg iteration loops codified as Taskfile tasks, alef install/generate/format/bump, core and binding builds, e2e generate/build/test cycles, cleanup tiers, and the mock-server / stale-.so / precompiled-NIF / generated-e2e gotchas. Load when running or debugging crawlberg build, alef regenerati

What this skill tells your AI

The instructions your AI receives, as published by xberg-io/crawlberg in .ai-rulez/skills/dev-cycle/SKILL.md and read by ahel’s review.

Iteration loops are codified as Taskfile tasks. Prefer them over ad-hoc commands.

After alef changes

task alef:install              # cargo install --path ../alef/crates/alef-cli
task alef:generate             # alef all --clean --format=false
task alef:format               # explicit Alef formatting; task format excludes this
VERSION=0.15.30 task alef:bump # bump pin in alef.toml + reinstall + regen

After crawlberg-core changes

task build          # core-only
task build:bindings # all bindings
task build:all      # core + all bindings

E2E cycles

task e2e:generate # regenerate all language test suites from fixtures
task e2e:build    # build bindings and the generated mock-server for e2e
task e2e:test     # run generated e2e suites
task e2e:all      # generate + build + run generated e2e suites

Cleanup

task clean           # per-language artifacts
task clean:workspace # cargo target + alef IR cache + legacy mock-server bins
task clean:e2e       # venvs, node_modules, _build, lockfiles, vendor/
task clean:full      # all of the above

Gotchas (codified, but worth knowing)

  • One mock-server binary. e2e/rust/src/main.rs is alef-generated and is the binary all language conftests spawn. (An older tools/mock-server was removed; only the task clean description still mentions it.) task e2e:build builds the right one at e2e/rust/target/release/mock-server.
  • Python venv stale .so. After task python:build:dev, the e2e venv at e2e/python/.venv keeps a stale extension. task python:cycle runs uv sync --reinstall to refresh.
  • Elixir precompiled NIF. Rustler's precompiled binary is tagged at the package's release version and lags local source. CRAWLBERG_BUILD=1 is set in .task/languages/elixir.yml::e2e:test so the e2e suite always builds the NIF from local source.
  • Generated e2e files. e2e/<lang>/ is alef-generated — never hand-edit. Modify fixtures or alef codegen, then task alef:generate.

Signals

GitHub stars
177
Forks
27
Last commit
Sep 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
dev-cycle
Source
github.com/xberg-io/crawlberg