Azure / Azure/azure-dev

Update guiding principles to include extensions-first approach

Open
#6,244 0 comments 0 reactions 1 assignee Claimed by @kristenwomack View on GitHub
area/docs area/extensions engineering item
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

## Description

Update the guiding principles document (`cli/azd/docs/guiding-principles.md`) to include extensions as a first-class consideration in azd development decisions.

## Acceptance Criteria

### Core Principles to Add

- [ ] **Extension-first thinking**: Push teams to consider extension solutions before adding to core CLI
- [ ] **Use extension hosts**: Leverage extension host patterns instead of parallel command structures
- [ ] **Composability**: Design features to be extensible via extensions
- [ ] **Public APIs**: Consider which APIs should be public for extension developers
- [ ] **Backward compatibility**: Consider extension impact when evolving core CLI

### Specific Guidelines

- [ ] When to build as extension vs. core feature
- [ ] How to design extension points in new features
- [ ] Versioning and compatibility considerations
- [ ] Extension framework stability commitments
- [ ] Decision framework for extension vs. core

### Documentation Updates

- [ ] Add extensions section to guiding principles
- [ ] Include decision tree or flowchart
- [ ] Provide examples of good extension-first decisions
- [ ] Document exceptions (when core is appropriate)

### Socialization

- [ ] Review with engineering team
- [ ] Update onboarding materials
- [ ] Reference in design review process
- [ ] Add to PR review checklist

## Benefits

- Maintains lean core CLI
- Encourages ecosystem growth
- Consistent decision-making across team
- Better separation of concerns
- Enables community contributions

## Parent Issue

- #5767 (Extension enhancements EPIC)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.