Skip to content

Commit 2ab7cc3

Browse files
rjcorwinclaude
andauthored
Refine CONTRIBUTING.md workflow documentation (#38)
## Summary Refines the spec-driven development workflow documentation in CONTRIBUTING.md to be more concise and clear, and updates all agent quick reference files to reflect the new structure. ## Changes to CONTRIBUTING.md **Consolidated and simplified:** - Merged "Folder Structure" and "Naming Convention" into single section - Removed redundant explanations of 3-character codes - Standardized on `XXX-name` format throughout - Added clarification that `<area>` = protocol, cli, sdk, or bridge - Added proposal structure documentation: - `proposal.md` - Main specification - `research.md` - Background research - `decision-XXX-name.md` - Individual ADR-style decisions **Added code-first workflow note:** - Acknowledges contributors who implement code first - Guides them to backfill proposal/spec/CHANGELOG before PR ## Updates to Agent Quick Reference Files **CLAUDE.md:** - Updated proposal structure details - Added `<area>` clarification - Updated repository structure diagram - Added code-first workflow note - Removed outdated v0.4/draft references **AGENTS.md:** - Same updates as CLAUDE.md for consistency ## Result The workflow documentation is now: - More concise and scannable - Eliminates redundancy - Provides clear guidance on proposal structure - Welcomes both spec-first and code-first contributors - Consistent across all reference files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 5ab2f5a commit 2ab7cc3

File tree

5 files changed

+49
-36
lines changed

5 files changed

+49
-36
lines changed

AGENTS.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# 🤖 Agent Quick Reference - MEW Protocol
22

33
## Critical Docs (READ FIRST AND UPDATE AFTER COMPLETING WORK)
4-
- MEW Protocol: spec/protocol/v0.4/SPEC.md (current stable)
5-
- Protocol Draft: spec/protocol/draft/SPEC.md (next version)
4+
- MEW Protocol: spec/protocol/SPEC.md (v0.4)
65
- CLI Spec: spec/cli/SPEC.md
76
- SDK Spec: spec/sdk/SPEC.md
87
- Bridge Spec: spec/bridge/SPEC.md
@@ -23,7 +22,10 @@ mew-protocol/
2322
├── dist/ # Compiled output
2423
├── e2e/ # End-to-end test scenarios
2524
├── spec/ # All specifications
26-
│ ├── protocol/ # Protocol spec (v0.4, draft)
25+
│ ├── protocol/ # Protocol spec (v0.4)
26+
│ │ ├── SPEC.md
27+
│ │ ├── proposals/ # All proposals
28+
│ │ └── rejected/ # Rejected proposals
2729
│ ├── cli/ # CLI spec
2830
│ ├── sdk/ # SDK spec
2931
│ └── bridge/ # Bridge spec
@@ -94,8 +96,9 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
9496

9597
1. **Start with CHANGELOG** - Add entry to `CHANGELOG.md` "Next" section
9698
2. **Create proposal** - Document in `spec/<area>/proposals/XXX-name/`
97-
- Use 3-char alphanumeric code: `a7z`, `k3p`, `m9w` (NOT 001, 002, or "bat", "tok")
98-
- Include motivation, research, decisions, spec
99+
- Use 3-char alphanumeric code: `a7z`, `k3p`, `m9w` (avoid 001, 002, or bat, tok)
100+
- Each proposal contains: `proposal.md`, `research.md`, `decision-XXX-name.md` files
101+
- `<area>` = protocol, cli, sdk, or bridge
99102
3. **Incorporate into specs** - Update main spec docs, mark CHANGELOG as needing implementation
100103
4. **Create implementation plan** (if complex) - `spec/integration-plans/XXX-name.md`
101104
5. **Implement code** - Write code, tests, examples; update CHANGELOG status
@@ -105,6 +108,7 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
105108
- Proposals stay in `proposals/` permanently (status tracked in CHANGELOG)
106109
- Specs and code developed together in same PR
107110
- All changes must update relevant specs
111+
- If you code first, backfill proposal/spec/CHANGELOG before opening PR
108112
- See `CONTRIBUTING.md` for full workflow details
109113

110114
## Key Files
@@ -140,12 +144,9 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
140144
- Testing: `docs/testing.md`
141145
- Templates: `docs/templates.md`
142146
- Releasing: `docs/releasing.md`
143-
- Spec guide: `docs/guides/SPEC-GUIDE.md`
144-
145147
## Specs Navigation
146148
- All specs: `spec/README.md`
147-
- Protocol v0.4 (stable): `spec/protocol/v0.4/SPEC.md`
148-
- Protocol draft (next): `spec/protocol/draft/SPEC.md`
149+
- Protocol (v0.4): `spec/protocol/SPEC.md`
149150
- CLI spec: `spec/cli/SPEC.md`
150151
- SDK spec: `spec/sdk/SPEC.md`
151152
- Bridge spec: `spec/bridge/SPEC.md`

CLAUDE.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# 🤖 Agent Quick Reference - MEW Protocol
22

33
## Critical Docs (READ FIRST AND UPDATE AFTER COMPLETING WORK)
4-
- MEW Protocol: spec/protocol/v0.4/SPEC.md (current stable)
5-
- Protocol Draft: spec/protocol/draft/SPEC.md (next version)
4+
- MEW Protocol: spec/protocol/SPEC.md (v0.4)
65
- CLI Spec: spec/cli/SPEC.md
76
- SDK Spec: spec/sdk/SPEC.md
87
- Bridge Spec: spec/bridge/SPEC.md
@@ -23,7 +22,10 @@ mew-protocol/
2322
├── dist/ # Compiled output
2423
├── e2e/ # End-to-end test scenarios
2524
├── spec/ # All specifications
26-
│ ├── protocol/ # Protocol spec (v0.4, draft)
25+
│ ├── protocol/ # Protocol spec (v0.4)
26+
│ │ ├── SPEC.md
27+
│ │ ├── proposals/ # All proposals
28+
│ │ └── rejected/ # Rejected proposals
2729
│ ├── cli/ # CLI spec
2830
│ ├── sdk/ # SDK spec
2931
│ └── bridge/ # Bridge spec
@@ -94,8 +96,9 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
9496

9597
1. **Start with CHANGELOG** - Add entry to `CHANGELOG.md` "Next" section
9698
2. **Create proposal** - Document in `spec/<area>/proposals/XXX-name/`
97-
- Use 3-char alphanumeric code: `a7z`, `k3p`, `m9w` (NOT 001, 002, or "bat", "tok")
98-
- Include motivation, research, decisions, spec
99+
- Use 3-char alphanumeric code: `a7z`, `k3p`, `m9w` (avoid 001, 002, or bat, tok)
100+
- Each proposal contains: `proposal.md`, `research.md`, `decision-XXX-name.md` files
101+
- `<area>` = protocol, cli, sdk, or bridge
99102
3. **Incorporate into specs** - Update main spec docs, mark CHANGELOG as needing implementation
100103
4. **Create implementation plan** (if complex) - `spec/integration-plans/XXX-name.md`
101104
5. **Implement code** - Write code, tests, examples; update CHANGELOG status
@@ -105,6 +108,7 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
105108
- Proposals stay in `proposals/` permanently (status tracked in CHANGELOG)
106109
- Specs and code developed together in same PR
107110
- All changes must update relevant specs
111+
- If you code first, backfill proposal/spec/CHANGELOG before opening PR
108112
- See `CONTRIBUTING.md` for full workflow details
109113

110114
## Key Files
@@ -140,12 +144,9 @@ When making changes, follow the workflow in `CONTRIBUTING.md`:
140144
- Testing: `docs/testing.md`
141145
- Templates: `docs/templates.md`
142146
- Releasing: `docs/releasing.md`
143-
- Spec guide: `docs/guides/SPEC-GUIDE.md`
144-
145147
## Specs Navigation
146148
- All specs: `spec/README.md`
147-
- Protocol v0.4 (stable): `spec/protocol/v0.4/SPEC.md`
148-
- Protocol draft (next): `spec/protocol/draft/SPEC.md`
149+
- Protocol (v0.4): `spec/protocol/SPEC.md`
149150
- CLI spec: `spec/cli/SPEC.md`
150151
- SDK spec: `spec/sdk/SPEC.md`
151152
- Bridge spec: `spec/bridge/SPEC.md`

CONTRIBUTING.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ Thank you for contributing to MEW Protocol! This guide covers how to contribute
1919

2020
MEW Protocol follows a spec-driven development approach where specifications are designed and documented before code implementation. All changes begin with a CHANGELOG entry that tracks the proposal and implementation status throughout the lifecycle.
2121

22+
**Note:** If you've already implemented code changes, that's okay! Before opening your PR, create a proposal documenting the design, incorporate it into the relevant spec, and add a CHANGELOG entry. This ensures we maintain clear documentation of all changes.
23+
2224
### Lifecycle Stages
2325

2426
1. **Draft** - Add CHANGELOG entry, design and write proposals in proposals/ (in Draft PR)
@@ -29,13 +31,23 @@ MEW Protocol follows a spec-driven development approach where specifications are
2931
6. **Merge** - Merge approved changes (specs + code together)
3032
7. **Release** - Tag version with all merged changes (happens later)
3133

32-
### Folder Structure
34+
### Folder Structure & Naming
35+
36+
**Note:** `<area>` refers to the spec area: `protocol`, `cli`, `sdk`, or `bridge`
37+
38+
**Proposals:** `spec/<area>/proposals/XXX-name/`
39+
- XXX = unique 3-character alphanumeric code (e.g., `a7z`, `k3p`, `m9w`; avoid 001, 002, or bat, tok)
40+
- name = kebab-case description (e.g., `message-batching`, `token-limits`)
41+
- Each proposal directory contains:
42+
- `proposal.md` - Main specification with motivation, goals, technical details
43+
- `research.md` - Background research, constraints, current state, prior art
44+
- `decision-XXX-name.md` - Individual ADR-style decision records as needed
3345

34-
- **`spec/<area>/proposals/XXX-name/`** - All proposals (status tracked in CHANGELOG)
35-
- XXX = unique 3-character alphanumeric code (e.g., `a7z`, `k3p`, `m9w`)
36-
- **`spec/<area>/rejected/XXX-name/`** - Rejected proposals (moved out of proposals/)
37-
- **`spec/integration-plans/XXX-name.md`** - Implementation plans for complex changes
38-
- XXX = unique 3-character alphanumeric code (e.g., `b4x`, `r8n`)
46+
**Rejected proposals:** `spec/<area>/rejected/XXX-name/`
47+
48+
**Implementation plans:** `spec/integration-plans/XXX-name.md`
49+
- Same XXX-name format as proposals
50+
- Optional, for complex changes requiring coordination
3951

4052
### Core Documents
4153

@@ -44,14 +56,6 @@ MEW Protocol follows a spec-driven development approach where specifications are
4456
- **CHANGELOG.md** - Tracks status of all proposals (Draft → Needs Implementation → In Progress → Done → Released)
4557
- **Implementation Plans** - Guides code development (optional, for complex changes)
4658

47-
### Naming Convention
48-
49-
- Proposals and implementation plans use unique 3-character alphanumeric codes
50-
- Format: `XXX-descriptive-name` (e.g., `a7z-message-batching`, `k3p-token-limits`, `m9w-new-feature`)
51-
- Codes must be unique within their scope (proposals per spec area, implementation plans globally)
52-
- Use random alphanumeric combinations (mix letters and numbers) to avoid conflicts across concurrent PRs
53-
- Avoid sequential numbers (001, 002) or word-like abbreviations (bat, tok) that may conflict
54-
5559
---
5660

5761
## Development Setup

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ The **proposal mechanism** ensures humans stay in control. New agents start with
5151

5252
**v0.4** - Released 2025-09-26 🎉
5353

54-
MEW Protocol is in experimental phase (v0.x) with breaking changes allowed between versions. See [spec/protocol/v0.4/SPEC.md](spec/protocol/v0.4/SPEC.md) for the current specification.
54+
MEW Protocol is in experimental phase (v0.x) with breaking changes allowed between versions. See [spec/protocol/SPEC.md](spec/protocol/SPEC.md) for the current specification.
5555

5656
## 🚀 Quick Start
5757

@@ -97,9 +97,11 @@ See [docs/README.md](docs/README.md) for complete documentation including:
9797

9898
## 📋 Specifications
9999

100-
- [Current Specification (v0.4)](spec/protocol/v0.4/SPEC.md)
101-
- [Draft Specification (next version)](spec/protocol/draft/SPEC.md)
102-
- [Architecture Decision Records](spec/protocol/v0.4/accepted/)
100+
- [Protocol Specification](spec/protocol/SPEC.md) - Core MEW Protocol (v0.4)
101+
- [CLI Specification](spec/cli/SPEC.md) - Command-line interface
102+
- [SDK Specification](spec/sdk/SPEC.md) - TypeScript SDK
103+
- [Bridge Specification](spec/bridge/SPEC.md) - MCP-MEW bridge
104+
- [All Specifications](spec/README.md) - Complete spec hub
103105
- [Changelog](CHANGELOG.md)
104106

105107
## 🐈 Why "MEW"?

TODO.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,21 @@
44
11. Compact support
55
2. mew needs to return status that includes token usage, and depending on model we'll add some context window info for reference so %usage can be reported.
66

7+
- upgrading Ink from 3.2.0 to 6.3.1
8+
79
## ui/ux
810
1. ctrl-c the first time should clear the input buffer.
911
3. When proposal select list appears, if there was input in the input box, should restore it when the select list disappears.
1012
10. File ref autocomplete
13+
11. fix pasting of content into input
1114

1215
8. Add MCP bash server
16+
10. Support for running commands with `!`
1317

1418
9. MCP Responses formatter for edit_file, needs better formatting
1519

1620
6. CLAUDE.md/AGENTS.md support for automatically adding to context.
1721
5. /thinking slash command to toggle display of those sections in chat messages.
1822
7. "Selected code" VSCode integration
1923

24+
- Figure out how to give coding agents the ability to run mew interactive cli and test

0 commit comments

Comments
 (0)