.agents/skills/leanspec-development/SKILL.md
Development workflows, commands, publishing, CI/CD, changelog management, and contribution guidelines for LeanSpec. Use when contributing code, fixing bugs, setting up dev environment, running tests or linting, working with the monorepo structure, looking up build/dev/test/publish/format/lint commands, preparing releases, publishing to npm, bumping versions, syncing package versions, testing dev builds, troubleshooting npm distribution, updating changelogs, triggering CI/CD workflows, monitoring build status, debugging failed runs, managing artifacts, checking CI before releases, or researching AI agent runners. Triggers include any development, scripting, publishing, CI/CD, changelog, or runner research task in this project.
npx skillsauth add codervisor/lean-spec leanspec-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Unified guide for all LeanSpec development: coding, commands, publishing, CI/CD, and runner research.
| Goal | Reference | |------|-----------| | Mandatory rules & conventions | RULES.md | | Changelog format & workflow | Changelog (below) | | i18n file locations & patterns | I18N.md | | Monorepo structure & packages | STRUCTURE.md | | Full release checklist | PUBLISHING.md | | npm distribution architecture | NPM-DISTRIBUTION.md | | Dev publishing workflow | DEV-PUBLISHING.md | | CI workflow details | CI-WORKFLOWS.md | | gh CLI command reference | CI-COMMANDS.md | | CI troubleshooting | CI-TROUBLESHOOTING.md | | Runner ecosystem catalog | runners-catalog.md |
cargo clippy -- -D warningspnpm install # Install dependencies
pnpm dev # Start web UI + Rust HTTP server
pnpm dev:watch # Same + auto-rebuild Rust on changes
pnpm dev:web # Start web UI only
pnpm dev:desktop # Start desktop app
pnpm build # Build all TS packages
pnpm build:rust # Build Rust (debug)
pnpm build:rust:release # Build Rust (release)
pnpm typecheck # ← NEVER SKIP before marking work complete
pnpm test # Run all tests
pnpm test:watch # Watch mode
pnpm test:coverage # With coverage
pnpm test:rust # Rust tests only
pnpm format # Format all code
pnpm cli # Run LeanSpec CLI
pnpm pre-push # Quick: typecheck + clippy
pnpm pre-release # Full: build + typecheck + test + lint
⚠️ Always run pnpm typecheck before marking work complete.
pnpm build:rust # Debug build
pnpm build:rust:release # Release build
pnpm check:rust # Quick check without building
pnpm lint:rust # Clippy with warnings as errors
pnpm format:rust # Format Rust code
pnpm format:rust:check # Check Rust formatting
# Low-level
cargo build --manifest-path rust/Cargo.toml
node scripts/copy-rust-binaries.mjs --debug
pnpm docs:dev # Start docs dev server
pnpm docs:build # Build docs site
pnpm dev:desktop # Start desktop app in dev mode
cd packages/desktop
pnpm bundle:linux # Debian package
pnpm bundle:macos # DMG
pnpm bundle:windows # NSIS installer
Rules enforced by hooks or CI:
cargo clippy -- -D warningsclippy.toml)cursor-pointerSee RULES.md for complete requirements.
# 1. Update version (root only)
npm version patch # or minor/major
# 2. Sync all packages
pnpm sync-versions
# 3. Validate everything
pnpm pre-release
# 4. Commit and push with tags
git add .
git commit -m "chore: release vX.X.X"
git push --follow-tags
# 5. Create GitHub Release (triggers publish workflow)
gh release create vX.X.X --title "vX.X.X" --notes "Release notes here"
# Publish dev version via GitHub Actions
gh workflow run publish.yml --field dev=true
# Dry run (validates without publishing)
gh workflow run publish.yml --field dev=true --field dry_run=true
# Install and test
npm install -g lean-spec@dev
lean-spec --version
package.json is the single source of truth for versionspnpm sync-versions propagates to all packages (including Rust crates)npm version + pnpm sync-versionsLeanSpec uses optional dependencies for platform-specific Rust binaries:
| Type | Packages |
|------|----------|
| Main (published) | lean-spec, @leanspec/mcp, @leanspec/ui |
| Platform (published) | @leanspec/cli-{platform}, @leanspec/mcp-{platform} (5 platforms each) |
| Internal (not published) | @leanspec/desktop, @leanspec/ui-components |
⚠️ Platform packages MUST be published before main packages. The CI workflow handles this automatically.
See PUBLISHING.md and NPM-DISTRIBUTION.md for details.
Update CHANGELOG.md following Keep a Changelog format and Semantic Versioning.
# Commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Files changed since last release
git diff $(git describe --tags --abbrev=0)..HEAD --stat
Only include shipped/implemented changes — not planned specs, drafts, or WIP.
Add under ## [Unreleased] using these categories: Added, Changed, Fixed, Deprecated, Removed, Security, Technical.
- **Feature Name** ([spec 123](https://web.lean-spec.dev/specs/123)) - Brief description
- Sub-bullet with implementation details
[Unreleased] to new version: ## [X.Y.Z] - YYYY-MM-DD[X.Y.Z]: https://github.com/codervisor/lean-spec/releases/tag/vX.Y.ZAll workflow interactions use the gh CLI. Check status before triggering new runs; minimum 30s between polls.
| Workflow | File | Triggers | Purpose |
|----------|------|----------|---------|
| CI | ci.yml | push, PR to main | Build, test, lint (Node.js + Rust) |
| Publish | publish.yml | release, manual | Publish to npm (all platforms) |
| Desktop Build | desktop-build.yml | push, PR, manual | Build Tauri desktop apps |
| Copilot Setup | copilot-setup-steps.yml | push, PR, manual | Setup environment for Copilot agent |
# Check status
gh run list --limit 10
gh run list --workflow ci.yml --limit 5
gh run view <run-id>
gh run watch <run-id>
# Trigger
gh workflow run ci.yml
gh workflow run publish.yml --field dev=true
# Debug failures
gh run view <run-id> --log-failed
gh run rerun <run-id> --failed
# Artifacts
gh run download <run-id>
gh run download <run-id> --name ui-dist
See CI-WORKFLOWS.md, CI-COMMANDS.md, and CI-TROUBLESHOOTING.md for details.
Research AI agent runners to keep LeanSpec's runner registry current as the ecosystem evolves.
rust/leanspec-core/src/sessions/runner.rs (RunnerRegistry::builtins())web_search: Config format changes, CLI changes, new env vars, new capabilities, deprecations, new runners| File | Purpose |
|------|---------|
| rust/leanspec-core/src/sessions/runner.rs | Runner registry with detection config |
| schemas/runners.json | JSON schema for custom runner config |
| packages/cli/templates/_shared/agents-components/ | AGENTS.md template components |
development
The spec-coding methodology for AI-assisted development. Use when planning features, creating/refining/implementing/verifying specs, or organising a project. Works with whatever spec backend your team already uses — local markdown, GitHub Issues, Azure DevOps, Jira — by delegating platform-specific details to a LeanSpec adapter.
development
The spec-coding methodology for AI-assisted development. Use when planning features, creating/refining/implementing/verifying specs, or organising a project. Works with whatever spec backend your team already uses — local markdown, GitHub Issues, Azure DevOps, Jira — by delegating platform-specific details to a LeanSpec adapter.
development
Watch GitHub Actions CI status for the current commit until completion. Use after pushing changes to monitor build results.
development
Run multiple AI coding agent sessions in parallel using git worktrees — each agent isolated in its own worktree, working on a separate branch. Use this skill whenever the user wants to: run two or more AI agents simultaneously on different features or bugs, set up isolated agent workspaces in the same repo, push parallel branches to GitHub and open/update PRs, coordinate between concurrent agent sessions, or clean up after merging. Triggers on: "parallel agents", "multiple agent sessions", "git worktree", "run agents in parallel", "work on two things at once", "isolated agent workspace", "spin up another agent", or any request involving simultaneous AI-assisted development streams.