Skip to main content

Installer and synchronizer CLI for the devspec workflow framework.

Project description

devspec

devspec is a spec-driven development framework for teams using GitHub Copilot and other AI coding agents.

It stores planning, implementation, review, and recovery state in Git-tracked files instead of relying on chat history.

Use it when you want agents to follow the same workflow for:

  • project context, architecture, engineering rules, and coding standards
  • feature, bug, and security work-item intake
  • clarification, finalization, task planning, implementation, and review
  • session recovery from repository artifacts

Quick Start

Install with the devspec CLI. The recommended one-off path is uvx, which avoids a permanent global install and works well on machines where developers cannot write to shared PATH folders.

For install, workflow, AI coding agent, multi-repo, provider, validation, and upgrade examples, see docs/how-to/README.md.

  1. Open the target repository in VS Code or the selected AI coding tool.

  2. Install all supported adapter files into the repository:

    uvx devspec init --target . --profile all --repo-state existing
    

    Use --repo-state new for a new repository.

  3. Validate the install:

    uvx devspec doctor --target . --profile all
    
  4. Commit the copied files.

  5. Run the foundation flow for a new or existing repository.

  6. Start the first work item.

Manual copy remains supported as a fallback when package managers are blocked. Copy the framework folders listed in Manual Copy Fallback, then commit the copied files.

For a new project:

/devspec.projectcontext
/devspec.techstack
/devspec.codebase-structure
/devspec.coding-standards
/devspec.rules

For an existing project:

/devspec.extract
/devspec.projectcontext
/devspec.techstack
/devspec.codebase-structure
/devspec.coding-standards
/devspec.rules

Then run the work-item flow:

/devspec.story
/devspec.finalize
/devspec.tasks
/devspec.implement
/devspec.review

For related scope added after a work item is finalized or later, run /devspec.story again with change-request input. Related requests append as CR-001, CR-002, and so on inside the same work-item folder without rewriting the baseline story, completed tasks, implementation evidence, or review history. Independent requests ask whether to append to the current item, create a new linked work item, or provide Custom Answer.

Use /devspec.clarify only when a work item records a blocking question. Use /devspec.diagram when a diagram would clarify architecture, workflow, state, sequence, or domain behavior; SVG is the default, with optional Mermaid or HTML via format= combinations. Example: format=svg, format=html, format=mermaid, format=svg+html, format=svg+mermaid, format=svg+html+mermaid, format=html+mermaid.

How It Works

devspec has two workflow layers.

Layer Purpose Commands
Foundation Capture stable project context, architecture, stack, structure, standards, and rules. /devspec.extract, /devspec.projectcontext, /devspec.techstack, /devspec.codebase-structure, /devspec.coding-standards, /devspec.rules
Work items Move one feature, bug, security issue, or accepted change request from intake to review while preserving prior scope history. /devspec.story, /devspec.clarify, /devspec.finalize, /devspec.tasks, /devspec.implement, /devspec.review
flowchart TD
    Start["Start"] --> State{"Project state?"}
    State -- "new" --> ProjectContext["/devspec.projectcontext"]
    State -- "existing" --> Extract["/devspec.extract"]
    Extract --> ProjectContext
    ProjectContext --> TechStack["/devspec.techstack"]
    TechStack --> Structure["/devspec.codebase-structure"]
    Structure --> Standards["/devspec.coding-standards"]
    Standards --> Rules["/devspec.rules"]
    Rules --> Story["/devspec.story"]
    Story --> Blocked{"Blocking question?"}
    Blocked -- "yes" --> Clarify["/devspec.clarify"]
    Clarify --> Story
    Blocked -- "no" --> Finalize["/devspec.finalize"]
    Finalize --> Ready{"Ready?"}
    Ready -- "no" --> Clarify
    Ready -- "yes" --> Tasks["/devspec.tasks"]
    Tasks --> Implement["/devspec.implement"]
    Implement --> Review["/devspec.review"]
    Review --> Outcome{"Review outcome?"}
    Outcome -- "changes requested" --> Implement
    Outcome -- "approved" --> Done["Done"]

Command Reference

Command Use when Main output
/devspec.extract Existing code/docs should seed the foundation. Foundation, architecture, extraction, and diagram queue artifacts.
/devspec.projectcontext Product and business context must be recorded; durable principles and operational governance route to their own artifacts. devspec/foundation/project-context.md
/devspec.techstack Stack, runtime, hosting, tooling, or support status must be recorded. devspec/foundation/tech-stack.md
/devspec.codebase-structure Repository layout, boundaries, multi-repo access, or integration contracts must be recorded. devspec/foundation/codebase-structure.md
/devspec.coding-standards Engineering standards and observed patterns must be recorded. devspec/foundation/coding-standards.md
/devspec.rules Operational rules, compliance requirements, governance procedures, and gates must be recorded. devspec/foundation/rules.md
/devspec.story A feature, bug, security issue, task, PBI, provider reference, or related post-baseline change request needs intake. Work-item meta.md, story.md, decisions.md, notes.md
/devspec.clarify A blocking question must be resolved. Work-item clarify.md
/devspec.finalize A work item needs an implementation-ready brief. Work-item finalize.md
/devspec.tasks A ready brief needs executable tasks. Work-item tasks.md
/devspec.implement Pending tasks should be implemented and recorded. Work-item implement.md and code changes when applicable
/devspec.review Implemented work needs review against the finalized brief. Work-item review.md
/devspec.diagram A diagram should be created or updated. Architecture or work-item SVG diagram artifacts by default, with optional Mermaid or HTML artifacts

For exact command contracts, see devspec/adapters/command-registry.md.

AI Tool Support

GitHub Copilot prompt and agent files are the reference implementation. Other adapters are thin wrappers around the same command registry and Git-tracked artifacts.

Tool Files Notes
GitHub Copilot .github/prompts/, .github/agents/; optional .github/skills/ Native /devspec.* command implementation.
Claude Code .claude/skills/devspec-*/SKILL.md Project skills for canonical commands.
OpenAI Codex AGENTS.md, devspec/adapters/codex.md Repository instructions and Codex guidance.
Cursor .cursor/rules/devspec-workflow.mdc, AGENTS.md Project rules plus shared fallback instructions.
Gemini CLI GEMINI.md, optional .gemini/commands/devspec/*.toml GEMINI.md is enough for context; TOML files only add native /devspec:* shortcuts.
Google Antigravity .agents/rules/devspec-workflow.md, .agents/skills/devspec-*.md Workspace rule and skills using /devspec-* names.

Canonical command names remain /devspec.*. Some adapters expose host-native shortcuts such as /devspec:story or /devspec-story.

Related docs:

Repository Layout

Path Purpose
devspec/constitution.md Rare durable project principles across all work items and agents; principle changes require explicit confirmation.
devspec/foundation/ Product context, stack, structure, standards, operational rules, exclusions, and provider policy.
devspec/architecture/ Architecture overview, default SVG diagrams, optional Mermaid or HTML diagrams, ADR templates, and artifact queue.
devspec/work-items/ One folder per feature, bug, or security work item.
devspec/adapters/ Multi-agent registry, compatibility, validation, and governance docs.
docs/how-to/ User manual with install, workflow, AI coding agent, multi-repo, provider, validation, and upgrade examples.
.github/prompts/ Copilot slash-command prompts.
.github/agents/ Copilot agent definitions.
.github/skills/ Optional reusable skills.
AGENTS.md Shared instructions for tools that read AGENTS.md.
GEMINI.md Gemini-native repository context.
.claude/, .cursor/, .gemini/, .agents/ Optional adapter support.

Manual Copy Fallback

Use manual copy only when the CLI, uvx, package managers, and release ZIP automation are blocked. Copy these core framework files and folders from the devspec release into the target repository root:

devspec/
.github/prompts/
.github/agents/
AGENTS.md

Then copy only the adapter files your team uses:

Tool Additional files
GitHub Copilot .github/skills/
Claude Code .claude/
OpenAI Codex No extra files beyond AGENTS.md
Cursor .cursor/
Gemini CLI GEMINI.md, .gemini/
Google Antigravity .agents/

The release payload may also include this repository's README.md and docs/how-to/ for reference. Do not copy them into the target repository as installed framework files, and do not overwrite a target project's root README.md. Keep credentials, provider tokens, local auth files, and personal settings outside copied framework files.

Do not copy .github/workflows/ into target repositories. Those workflows are this framework repository's CI/release automation, and target projects should own their own CI/CD configuration.

Operating Rules

  • Keep .github/prompts/*.prompt.md and .github/agents/*.agent.md as the protected reference contracts.
  • Keep adapter support additive; do not change command intent for another tool.
  • Store workflow state in Git-tracked devspec/ artifacts, not chat memory.
  • Use devspec/glossary.md for status values.
  • Use devspec/foundation/codebase-structure.md for repository access requirements.
  • Keep product facts in devspec/foundation/project-context.md, durable principles in devspec/constitution.md, and operational gates, compliance rules, enforcement details, and evolving governance in devspec/foundation/rules.md.
  • Keep secrets and provider credentials outside prompt, agent, adapter, and artifact files.
  • Record blockers instead of guessing.
  • Recommend only registered /devspec.* commands.

Multi-Repo Work

For multi-repo systems, open one workspace or tool project that includes every repository agents should inspect, edit, test, or coordinate.

Record repository roles, local paths, access requirements, and boundaries in:

devspec/foundation/codebase-structure.md

Access values are defined in:

devspec/glossary.md#access-requirement-values

Provider Integrations

Use provider integrations when /devspec.story should resolve GitHub, Jira, Azure DevOps, or other external work-item references.

Provider policy lives in:

devspec/foundation/provider-integrations.md

Keep authentication outside prompt artifacts. Prefer read-only provider access unless write-back is explicitly required.

Validation

Enterprise readiness requires these flows to pass for each supported adapter:

  • new repository foundation flow
  • existing repository extraction flow
  • full story lifecycle
  • append-only change-request flow
  • cross-tool recovery from Git-tracked artifacts

Use:

devspec/adapters/validation-flows.md

Upgrade Notes

Use the CLI to inspect and apply framework upgrades:

devspec diff --target .
devspec sync --target . --profile all --dry-run
devspec sync --target . --profile all

Framework-owned files may be replaced or diff-applied during upgrades:

  • .github/prompts/
  • .github/agents/
  • .github/skills/
  • adapter support folders
  • AGENTS.md
  • GEMINI.md
  • devspec/adapters/
  • devspec/**/_template/

The .github/workflows/ directory is intentionally excluded from setup and sync. Those files are this repository's CI/release automation, and target projects should own their own CI/CD configuration.

Project-owned files should be migrated or merged, not overwritten:

  • devspec/foundation/*.md
  • devspec/architecture/*.md
  • devspec/architecture/diagrams/*.md
  • devspec/architecture/images/*.svg
  • devspec/architecture/html/*.html
  • devspec/work-items/**
  • devspec/constitution.md
  • devspec/glossary.md

Recommended Adoption

  1. Install into one target repository with uvx devspec init --target . --profile all --repo-state existing.
  2. Run the foundation flow.
  3. Complete one real feature work item.
  4. Complete one real bug work item.
  5. Add security-vulnerability flow validation if relevant.
  6. Adjust foundation docs based on what the first runs teach the team.

Deployment Development

When changing the installer, profile manifest, package metadata, or release automation, run:

uv run pytest
powershell -ExecutionPolicy Bypass -File scripts/test-local-install.ps1
bash scripts/test-local-install.sh

Update packaging/devspec-profiles.json whenever adapter files are added, removed, or moved.

License

This repository is released under the Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devspec-0.1.3.tar.gz (156.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devspec-0.1.3-py3-none-any.whl (243.3 kB view details)

Uploaded Python 3

File details

Details for the file devspec-0.1.3.tar.gz.

File metadata

  • Download URL: devspec-0.1.3.tar.gz
  • Upload date:
  • Size: 156.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for devspec-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a425f8ee116ad6b1e8e00d86c04abfd5414b703277deec3776e3a1596a7e415f
MD5 7d57770641b8be4fc6965025d22cce6a
BLAKE2b-256 7f9cde61065092ceccd7fce76fc1c44545ae0ef9716a78b56a760d4214f16080

See more details on using hashes here.

File details

Details for the file devspec-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: devspec-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 243.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for devspec-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 59e9f22d853b4d8a3dedff7312a06e73bdb2ecb39063c585baedbb30ac8cea04
MD5 ddfe934d04f47e011a604407094bb3bc
BLAKE2b-256 8b4db03b5d2890c051b63b1aedd0f4af138a84df8974e645e9aae6a088c20917

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page