Skip to content

Commit eaa6992

Browse files
authored
feat(designs): Create designs folder (strands-agents#487)
1 parent f8e8e99 commit eaa6992

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

designs/README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Design Documents
2+
3+
This folder contains design documents for significant features and changes to Strands Agents. These documents capture the context, decision, and consequences of architectural choices.
4+
5+
For lightweight architecture decision records, see [DECISIONS.md](../team/DECISIONS.md).
6+
7+
## What is a design document?
8+
9+
A design document proposes a significant change or new feature. It describes the problem, proposed solution, and tradeoffs. Once approved and merged, it becomes an accepted design and part of the project's decision history.
10+
11+
## When to write a design document
12+
13+
Write a design document for:
14+
15+
- New major features affecting multiple parts of the SDK
16+
- Breaking changes to existing APIs
17+
- Architectural changes requiring design discussion
18+
- Large contributions (> 1 week of work)
19+
- Features that introduce new concepts
20+
21+
Skip the design process for bug fixes, small improvements, documentation updates, and new extensions in your own repository.
22+
23+
## How to submit a feature proposal
24+
25+
1. **Check the [roadmap](https://github.com/orgs/strands-agents/projects/8/views/1)** — See if your idea aligns with our direction
26+
2. **Fork the [docs repository](https://github.com/strands-agents/docs)**
27+
3. **Create your design** — Add a new file: `designs/NNNN-feature-name.md` using the template below
28+
4. **Submit a pull request** — We'll review and discuss
29+
5. **Iterate based on feedback** — Address comments and questions
30+
6. **Get approval** — Once approved and merged, implement the feature
31+
7. **Reference the design** — Link to it in your implementation PR
32+
33+
## Design document template
34+
35+
```markdown
36+
# [Feature Name]
37+
38+
**Status**: Proposed | Accepted | Deprecated | Superseded
39+
40+
**Date**: YYYY-MM-DD
41+
42+
**Issue**: Issue Link
43+
44+
## Context
45+
46+
What is the issue that we're seeing that is motivating this decision or change?
47+
48+
- What task are you trying to accomplish?
49+
- What makes it difficult or impossible today?
50+
- Who experiences this problem?
51+
52+
## Decision
53+
54+
What is the change that we're proposing and/or doing?
55+
56+
- Changes to the API (with code examples)
57+
- How it integrates with existing features
58+
- Expected behavior and usage patterns
59+
60+
## Developer Experience
61+
62+
Show what the developer experience looks like:
63+
64+
- Code examples showing typical usage
65+
- Configuration or setup required
66+
- Error messages and edge cases
67+
68+
## Alternatives Considered
69+
70+
What other approaches did you consider? Why did you choose this one?
71+
72+
## Consequences
73+
74+
What becomes easier or more difficult to do because of this change?
75+
76+
## Willingness to Implement
77+
78+
Are you willing to implement this if approved?
79+
80+
Yes / No / Maybe with guidance
81+
```
82+
83+
## Accepted Designs
84+
85+
*No designs have been accepted yet.*

0 commit comments

Comments
 (0)