Skip to content

Commit 07ff0d7

Browse files
committed
feat: redesign metaspec contribute for simplicity (v0.6.4)
Complete redesign of contribute command for better UX: Breaking Changes: - Removed --command option (auto-detected from pyproject.toml) - Removed --interactive flag (no longer interactive) - No longer generates JSON by default (use --save-json if needed) New Features: - --open flag: One-click browser opening - --save-json flag: Optional metadata preview - Auto-extract repository URL from pyproject.toml or git remote - Auto-extract metadata (name, version, description, commands) - Generate pre-filled GitHub issue URL - Display what bot will extract (transparency) Key Improvements: - Simpler: No interactive prompts, no manual data entry - Faster: 15-30 minutes → 30 seconds - Clearer: Shows exactly what bot will extract - One-click: --open opens browser automatically - Honest: JSON is optional preview, not required Why: awesome-spec-kits bot already extracts all metadata automatically, making manual JSON generation unnecessary. The new design aligns with actual workflow and provides much better UX. Philosophy: The best automation is invisible automation. Users shouldn't manually enter data that bots can extract automatically. Implementation: - Complete rewrite of src/metaspec/cli/contribute.py - Updated all tests (17 tests passing) - Updated README.md and CHANGELOG.md - All 156 tests passing
1 parent 8b54e64 commit 07ff0d7

File tree

7 files changed

+513
-351
lines changed

7 files changed

+513
-351
lines changed

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,70 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
---
1111

12+
## [0.6.4] - 2025-11-15
13+
14+
### 🎉 Changed - Major UX Improvement
15+
16+
**`metaspec contribute` - Redesigned for Simplicity**
17+
18+
Completely redesigned `metaspec contribute` to focus on its true value: validation + one-click submission.
19+
20+
**Why**: awesome-spec-kits bot already extracts all metadata automatically, making manual JSON generation unnecessary. The new design aligns with the actual workflow.
21+
22+
**New behavior**:
23+
```bash
24+
# Validate only
25+
metaspec contribute --check-only
26+
27+
# Default: Show pre-filled issue URL
28+
metaspec contribute
29+
# → Validates + displays GitHub issue URL
30+
31+
# One-click: Open browser automatically
32+
metaspec contribute --open
33+
# → Validates + opens pre-filled issue in browser (done in ~30 seconds!)
34+
35+
# Optional: Preview metadata
36+
metaspec contribute --save-json
37+
# → Saves JSON file for preview (not required)
38+
```
39+
40+
**Key improvements**:
41+
-**Simpler**: No interactive prompts
42+
-**Faster**: 15-30 minutes → 30 seconds
43+
-**Clearer**: Shows what bot will extract
44+
-**One-click**: `--open` opens browser
45+
-**Honest**: JSON is optional, not required
46+
47+
**Breaking Changes**:
48+
- ❌ Removed: `--command` option (auto-detected)
49+
- ❌ Removed: `--interactive` flag
50+
- ❌ Changed: No longer generates JSON by default
51+
- ✅ Added: `--open` flag
52+
- ✅ Added: `--save-json` flag
53+
54+
**Migration**:
55+
```bash
56+
# Old (v0.6.3)
57+
metaspec contribute my-command
58+
# → Interactive prompts
59+
60+
# New (v0.6.4+)
61+
metaspec contribute --open
62+
# → One command, done!
63+
```
64+
65+
**Implementation**:
66+
- Auto-extract repository URL from pyproject.toml or git remote
67+
- Auto-extract metadata from pyproject.toml
68+
- Generate pre-filled GitHub issue URL
69+
- Display what bot will extract
70+
- Optional JSON preview with `--save-json`
71+
72+
**Philosophy**: The best automation is invisible automation. Users shouldn't manually enter data that bots can extract automatically.
73+
74+
---
75+
1276
## [0.6.3] - 2025-11-15
1377

1478
### ✨ Features

README.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,10 +246,21 @@ metaspec contribute --check-only
246246
# → Validates requirements (pyproject.toml, README, LICENSE, etc.)
247247
# → Shows what's missing with fix suggestions
248248

249-
# Contribute your speckit
250-
metaspec contribute my-speckit
251-
# → Validates + Generates metadata JSON
252-
# → Submit PR to awesome-spec-kits
249+
# Contribute your speckit (one command!)
250+
metaspec contribute --open
251+
# → Validates your project
252+
# → Opens pre-filled GitHub issue in browser
253+
# → Bot automatically extracts metadata from your repo
254+
# → Done in ~30 seconds!
255+
256+
# Or just get the URL
257+
metaspec contribute
258+
# → Shows registration URL to paste in browser
259+
260+
# Preview metadata (optional)
261+
metaspec contribute --save-json
262+
# → Generates JSON file for preview
263+
# → Note: Bot extracts from repo, JSON is optional
253264
```
254265

255266
**Join the community**:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "meta-spec"
3-
version = "0.6.3"
3+
version = "0.6.4"
44
description = "Meta-specification framework for generating Spec-Driven X (SD-X) toolkits for AI agents"
55
readme = "README.md"
66
requires-python = ">=3.11"

src/metaspec/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from YAML definitions.
66
"""
77

8-
__version__ = "0.6.3"
8+
__version__ = "0.6.4"
99

1010
__all__ = ["__version__"]
1111

0 commit comments

Comments
 (0)