Skip to content

v0.34.0 — Namespace refactor + Documentation

Choose a tag to compare

@ClankerGuru ClankerGuru released this 01 Apr 17:35
· 37 commits to main since this release
0ff0b9d

What's New

Namespace refactor — every plugin owns its prefix

All tasks are now namespaced by plugin. No more guessing which plugin provides what.

./gradlew srcx     # Source intelligence (15 tasks)
./gradlew opsx     # Workflow + execution (11+ tasks)
./gradlew wrkx     # Workspace management (4 tasks)
./gradlew claude   # Claude Code CLI (12 tasks)
./gradlew copilot  # GitHub Copilot CLI (8 tasks)
./gradlew codex    # OpenAI Codex CLI (16 tasks)
./gradlew opencode # OpenCode CLI (20 tasks)
Old name New name Plugin
`opsx-find` `srcx-find` srcx
`opsx-context` `srcx-context` srcx
`opsx-rename` `srcx-rename` srcx
`opsx-clone` `wrkx-clone` wrkx
`opsx-pull` `wrkx-pull` wrkx
`opsx-propose` `opsx-propose` opsx (unchanged)
`opsx-exec` `opsx-exec` opsx (unchanged)

One-line install

curl -fsSL https://raw.githubusercontent.com/ClankerGuru/openspec-gradle/main/install.sh | bash

Installs per-plugin init scripts to `~/.gradle/init.d/`:

File Plugin Purpose
`00-wrkx.init.gradle.kts` WrkxPlugin Workspace management, composite builds
`01-srcx.init.gradle.kts` SrcxPlugin Source discovery, analysis, refactoring
`02-opsx.init.gradle.kts` OpsxPlugin Workflow, exec, agent sync, linting
`03-claude.init.gradle.kts` ClaudePlugin Claude Code CLI wrapper

Multiple workspaces

The workspace plugin now defaults to the project root — no hardcoded paths. Put `workspace.json` in any directory and it just works:

~/dev/work/workspace.json
~/dev/personal/workspace.json
~/dev/oss/workspace.json

Module renames

Old New Artifact
`plugin/code-intel` `plugin/srcx` `plugin-srcx`
`plugin/openspec` `plugin/opsx` `plugin-opsx`
`plugin/monolith` `plugin/wrkx` `plugin-wrkx`
`GradlePlugin` `SrcxPlugin` `zone.clanker.srcx`
`OpenSpecPlugin` `OpsxPlugin` `zone.clanker.opsx`
`MonolithPlugin` `WrkxPlugin` `zone.clanker.wrkx`
`monolith.json` `workspace.json`

Gradle properties renamed

Old New
`zone.clanker.openspec.agents` `zone.clanker.opsx.agents`
`zone.clanker.openspec.verifyCommand` `zone.clanker.opsx.verifyCommand`
`zone.clanker.openspec.monolithFile` `zone.clanker.wrkx.configFile`
`zone.clanker.openspec.monolithDir` `zone.clanker.wrkx.repoDir`

No backward compat — old property names no longer work.

Documentation

  • README.md for all 18 modules
  • Root README with architecture diagram, module map, configuration reference
  • Full `opsx-exec` flag documentation with examples
  • Plugin catalog tasks showing all available commands

Per-proposal exec dashboard

Agent execution logs are now grouped by proposal:

.opsx/exec/
  dashboard.md                    ← top-level dashboard
  fix-version-metadata/
    dashboard.md                  ← per-proposal dashboard
    fvm-1.md                      ← agent log
  exec-rewrite/
    dashboard.md
    er-2.md

Security fixes

  • MoveTask: validate package name format + canonical path check
  • RemoveTask: fix path traversal bypass with separator-aware prefix check
  • SourceDiscovery: Windows path separator compatibility

Version metadata

  • `VersionInfo.PLUGIN_VERSION` now returns real version (was "0.0.0")
  • Generated skill files contain ``
  • CLI_VERSION constants on all adapter plugins

Quick start

# Install
curl -fsSL https://raw.githubusercontent.com/ClankerGuru/openspec-gradle/main/install.sh | bash

# Use in any Gradle project
./gradlew srcx-context    # project metadata
./gradlew srcx-find -Pquery=MyClass
./gradlew opsx-sync       # generate agent files
./gradlew claude-run -Pprompt="Fix the auth bug"

Breaking changes

  • Task prefix: `opsx-find` → `srcx-find`, `opsx-clone` → `wrkx-clone`
  • Properties: `zone.clanker.openspec.` → `zone.clanker.opsx.` / `zone.clanker.wrkx.*`
  • Config file: `monolith.json` → `workspace.json`
  • Classes: `GradlePlugin` → `SrcxPlugin`, `MonolithPlugin` → `WrkxPlugin`, `OpenSpecPlugin` → `OpsxPlugin`
  • Init script: single `openspec.init.gradle.kts` → split `00-wrkx`, `01-srcx`, `02-opsx`, `03-claude`

Run `install.sh` to update your init scripts.