Skip to content

Commit 31560b4

Browse files
committed
feat: Add Architecture Description (AD) mode with /architect command
Implement Rozanski & Woods methodology for architecture-first development: New Components: - /speckit.architect command with 4 actions: init, map, update, review - 7 viewpoints: Context, Functional, Information, Concurrency, Development, Deployment, Operational - 2 perspectives: Security, Performance & Scalability - New 'ad' workflow mode alongside build/spec modes - Language-agnostic codebase scanning for brownfield projects Files Added: - templates/architecture-template.md: Complete R&W template with all viewpoints - templates/commands/architect.md: Command template with detailed execution phases - scripts/bash/setup-architecture.sh: Bash implementation with all 4 actions - scripts/powershell/setup-architecture.ps1: PowerShell equivalent Files Updated: - src/specify_cli/__init__.py: Added 'ad' mode configuration - templates/commands/mode.md: Added AD mode description - README.md: Added AD workflow documentation and usage examples - CHANGELOG.md: Added release notes for v0.0.24 - pyproject.toml: Version bump to 0.0.24 Integration: - AD mode inherits global architecture.md context - Features validate against architectural boundaries - Aligns with 12-Factor methodology (Factors I, IX, X)
1 parent 50ff279 commit 31560b4

File tree

9 files changed

+1734
-3
lines changed

9 files changed

+1734
-3
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@ All notable changes to the Specify CLI and templates are documented here.
77
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
88
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
99

10+
## [Unreleased]
11+
12+
### Added
13+
14+
- **Architecture Description (AD) Mode**: New workflow mode for architecture-first development
15+
- New `/speckit.architect` command implementing Rozanski & Woods "Software Systems Architecture" methodology
16+
- 7 Core Viewpoints: Context, Functional, Information, Concurrency, Development, Deployment, Operational
17+
- 2 Cross-cutting Perspectives: Security, Performance & Scalability
18+
- Four actions: `init` (greenfield), `map` (brownfield/reverse-engineering), `update` (sync with changes), `review` (validation)
19+
- Language-agnostic codebase scanning for brownfield projects
20+
- Generates `memory/architecture.md` as central architecture artifact
21+
- AD mode added to mode configuration alongside `build` and `spec` modes
22+
- Templates: `templates/architecture-template.md` and `templates/commands/architect.md`
23+
- Scripts: `scripts/bash/setup-architecture.sh` and `scripts/powershell/setup-architecture.ps1`
24+
1025
## [0.0.23] - 2025-01-28
1126

1227
### Changed

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ Specify supports two workflow modes that control the complexity level of the dev
248248

249249
- **`spec` mode (default)**: Full structured specification with comprehensive requirements, research, and validation
250250
- **`build` mode**: Lightweight, conversational approach focused on quick validation and exploration
251+
- **`ad` mode**: Architecture-first workflow using Rozanski & Woods methodology for complex enterprise systems
251252

252253
#### Mode Commands
253254

@@ -261,6 +262,9 @@ Specify supports two workflow modes that control the complexity level of the dev
261262
# Switch to spec mode (comprehensive development)
262263
/mode spec
263264

265+
# Switch to AD mode (architecture-driven development)
266+
/mode ad
267+
264268
# Show detailed information about all modes
265269
/mode --info
266270
```
@@ -281,6 +285,13 @@ Specify supports two workflow modes that control the complexity level of the dev
281285
- Production systems needing comprehensive validation
282286
- When you need full traceability and quality gates
283287

288+
**Use `ad` mode for:**
289+
290+
- Complex enterprise systems requiring formal architecture documentation
291+
- Brownfield/modernization projects needing existing system mapping
292+
- Microservices architectures with multiple stakeholders
293+
- Systems with strict security, performance, or compliance requirements
294+
284295
#### Mode-Aware Commands
285296

286297
All slash commands adapt their behavior based on the current mode:
@@ -302,6 +313,52 @@ specify init my-project \
302313
--async-agent jules
303314
```
304315

316+
### Architecture-Driven Development (AD Mode)
317+
318+
For complex enterprise systems, use Architecture-Driven Development to establish system-level architecture before feature implementation.
319+
320+
#### AD Mode Workflow
321+
322+
```bash
323+
# 1. Switch to AD mode
324+
/mode ad
325+
326+
# 2. Initialize architecture (greenfield)
327+
/speckit.architect init
328+
329+
# 3. Or map existing codebase (brownfield)
330+
/speckit.architect map
331+
332+
# 4. Review architecture against constitution
333+
/speckit.architect review
334+
335+
# 5. Then proceed with normal workflow
336+
/speckit.specify "Feature within this architecture"
337+
```
338+
339+
#### Architecture Actions
340+
341+
| Action | Description |
342+
|--------|-------------|
343+
| `init` | Initialize new `memory/architecture.md` from Rozanski & Woods template |
344+
| `map` | Reverse-engineer architecture from existing codebase (brownfield) |
345+
| `update` | Update architecture based on codebase/spec changes with impact analysis |
346+
| `review` | Validate architecture against constitution and perspectives |
347+
348+
#### Rozanski & Woods Viewpoints
349+
350+
The `/speckit.architect` command generates documentation covering:
351+
352+
1. **Context View** - System scope and external interactions
353+
2. **Functional View** - Functional elements and responsibilities
354+
3. **Information View** - Data storage, management, and flow
355+
4. **Concurrency View** - Runtime processes and coordination
356+
5. **Development View** - Code organization and CI/CD
357+
6. **Deployment View** - Physical infrastructure and environments
358+
7. **Operational View** - Operations, monitoring, and support
359+
360+
Plus cross-cutting **Perspectives**: Security, Performance & Scalability
361+
305362
### 2. Establish project principles
306363

307364
Launch your AI assistant in the project directory. The `/speckit.*` commands are available in the assistant.
@@ -413,7 +470,7 @@ The `specify` command supports the following options:
413470

414471
| Argument/Option | Type | Description |
415472
|-----------------|----------|-----------------------------------------------------------------------------|
416-
| `<mode>` | Argument | Workflow mode: `build` (lightweight) or `spec` (comprehensive) - leave empty to show current mode |
473+
| `<mode>` | Argument | Workflow mode: `build` (lightweight), `spec` (comprehensive), or `ad` (architecture-driven) - leave empty to show current mode |
417474
| `--tdd/--no-tdd` | Option | Enable/disable TDD (Test-Driven Development) |
418475
| `--contracts/--no-contracts` | Option | Enable/disable API contract generation |
419476
| `--data-models/--no-data-models` | Option | Enable/disable data model generation |
@@ -486,6 +543,7 @@ specify check
486543
/mode # Show current mode
487544
/mode build # Switch to lightweight build mode
488545
/mode spec # Switch to comprehensive spec mode
546+
/mode ad # Switch to architecture-driven mode
489547
/mode --info # Show detailed mode information
490548
```
491549

@@ -499,6 +557,7 @@ Essential commands for the Spec-Driven Development workflow:
499557

500558
| Command | Description |
501559
|--------------------------|-----------------------------------------------------------------------|
560+
| `/speckit.architect` | Generate Architecture Description using Rozanski & Woods methodology (7 viewpoints + perspectives) |
502561
| `/speckit.constitution` | Create or update project governing principles and development guidelines |
503562
| `/speckit.specify` | Define what you want to build (requirements and user stories) |
504563
| `/speckit.plan` | Create technical implementation plans with your chosen tech stack & SYNC/ASYNC triage |

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agentic-sdlc-specify-cli"
3-
version = "0.0.23"
3+
version = "0.0.24"
44
description = "Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD)."
55
requires-python = ">=3.11"
66
dependencies = [

0 commit comments

Comments
 (0)