SShortSingh.
Back to feed

Spec-Driven Development: A structured framework for AI-assisted software engineering

0
·1 views

Spec-Driven Development (SDD) applies classical software development lifecycle principles to AI-assisted coding, addressing the shortcomings of informal 'vibe coding' approaches. The methodology organizes work around four key artifacts: a constitution file for technical rules, a spec file for requirements, a plan file for architecture, and a tasks file for incremental implementation steps. SDD defines three adoption levels — spec-first, spec-anchored, and spec-as-source — each determining how closely the specification is kept in sync with the codebase. A core principle of SDD is that AI agents must not independently decide project scope or architecture; specifications must be agreed upon before implementation begins. The framework is particularly suited to projects that grow beyond quick prototypes, where unstructured AI prompting tends to produce context loss, hallucinations, and unverifiable outputs.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

MeshDrive 2.0 gives AI agents isolated local file storage via MCP on Linux

MeshDrive 2.0 is a local-first Linux storage tool built on JuiceFS and SQLite that provides AI agents with controlled access to a dedicated file system. Released by developer Hardik94 on GitHub, version 2.0 adds a Model Context Protocol (MCP) server enabling AI clients such as Cursor, Claude Code, and Hermes to read, write, and list files through a defined set of tools. Agents are restricted to an isolated root directory by default, preventing them from accessing files outside the designated storage area. The free tier requires no cloud connectivity, keeping all data on local disks, and includes a web-based file browser accessible at localhost. Installation is supported on Ubuntu and Debian amd64 systems running Python 3.10 or later with FUSE support.

0
ProgrammingDEV Community ·

Best Practices for Defining AI Agent Skills: Structure, Naming, and Invocation

AI agent skills are used to automate repetitive, precisely describable processes, and must be carefully structured to minimize the risk of a model generating incorrect outputs. Skills can be invoked either explicitly by a developer or implicitly by the agent itself, and each one loaded into a session consumes context, making selective use important. Each skill must reside in its own dedicated directory, with the directory name matching the skill's name, and must contain a SKILL.md file holding its definition. The skill's YAML header requires at minimum a name — formatted in lowercase kebab-case between 1 and 64 characters — and a description of up to 1,024 characters specific enough for the agent to match it to user intent. Optional fields such as license, version, and context can further refine how a skill is managed, deployed, and legally used across different environments.

0
ProgrammingDEV Community ·

How Redis Sliding Windows and Token Quotas Protect LLM API Spending

Rate limiting LLM APIs differs fundamentally from conventional APIs because a single model call carries real monetary cost, and agent loops can fire hundreds of requests autonomously. Developers must track both request counts and token usage separately, enforcing whichever limit binds first, since a one-line prompt and a 200-page document summarisation both count as one request but differ vastly in cost. Tenant identifiers used in rate-limit keys must be sourced from authenticated sessions, never from the request body, to prevent callers from manipulating or exhausting other tenants' quotas. Fixed time windows expose a known boundary exploit where a full quota can be consumed twice in rapid succession, making Redis sorted-set sliding windows a more reliable alternative when executed atomically via Lua scripts. Because actual token costs are only known after a model responds, the recommended approach is to reserve an estimated token count before the call and reconcile the difference once the response returns.

0
ProgrammingDEV Community ·

tanstack-fetch: A Typed Fetch Client Designed to Simplify TanStack Query HTTP Layer

A developer has released tanstack-fetch, an unofficial, typed fetch client built specifically to complement TanStack Query in JavaScript and TypeScript applications. The library addresses common pain points that arise as apps scale, including authentication, typed error handling, request cancellation, retries, and server-sent events. Unlike native fetch, which does not throw on HTTP error status codes like 404 or 500, tanstack-fetch automatically converts HTTP failures into structured FetchError objects that integrate cleanly with TanStack Query's error state. The package can be configured with a base URL, token retrieval logic, and status-specific handlers, reducing repetitive boilerplate across query functions. It requires Node 18 or later in server environments and is available via npm alongside @tanstack/react-query.

Spec-Driven Development: A structured framework for AI-assisted software engineering · ShortSingh