Change description field to textarea in Add New Feature modal

The description field in the Add New Feature modal is now a textarea instead of
an input, allowing users to enter multi-line feature descriptions more easily.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Cody Seibert
2025-12-08 22:53:33 -05:00
parent 9392422d35
commit 7bfc489efa
23 changed files with 1319 additions and 1382 deletions

View File

@@ -103,7 +103,7 @@ After running, your project directory will contain:
```
my_project/
├── feature_list.json # Test cases (source of truth)
├── .automaker/feature_list.json # Test cases (source of truth)
├── app_spec.txt # Copied specification
├── init.sh # Environment setup script
├── claude-progress.txt # Session progress notes

View File

@@ -11,10 +11,10 @@ from pathlib import Path
def count_passing_tests(project_dir: Path) -> tuple[int, int]:
"""
Count passing and total tests in feature_list.json.
Count passing and total tests in .automaker/feature_list.json.
Args:
project_dir: Directory containing feature_list.json
project_dir: Directory containing .automaker/feature_list.json
Returns:
(passing_count, total_count)
@@ -54,4 +54,4 @@ def print_progress_summary(project_dir: Path) -> None:
percentage = (passing / total) * 100
print(f"\nProgress: {passing}/{total} tests passing ({percentage:.1f}%)")
else:
print("\nProgress: feature_list.json not yet created")
print("\nProgress: .automaker/feature_list.json not yet created")

View File

@@ -18,7 +18,7 @@ ls -la
cat app_spec.txt
# 4. Read the feature list to see all work
cat feature_list.json | head -50
cat .automaker/feature_list.json | head -50
# 5. Read progress notes from previous sessions
cat claude-progress.txt
@@ -27,7 +27,7 @@ cat claude-progress.txt
git log --oneline -20
# 7. Count remaining tests
cat feature_list.json | grep '"passes": false' | wc -l
cat .automaker/feature_list.json | grep '"passes": false' | wc -l
```
Understanding the `app_spec.txt` is critical - it contains the full requirements
@@ -63,7 +63,7 @@ If Playwright tests don't exist yet, create them in a `tests/` directory before
**If any tests fail:**
- Mark that feature as "passes": false immediately in feature_list.json
- Mark that feature as "passes": false immediately in .automaker/feature_list.json
- Fix all failing tests BEFORE moving to new features
- This includes UI bugs like:
- White-on-white text or poor contrast
@@ -76,7 +76,7 @@ If Playwright tests don't exist yet, create them in a `tests/` directory before
### STEP 4: CHOOSE ONE FEATURE TO IMPLEMENT
Look at feature_list.json and find the highest-priority feature with "passes": false.
Look at .automaker/feature_list.json and find the highest-priority feature with "passes": false.
Focus on completing one feature perfectly and completing its testing steps in this session before moving on to other features.
It's ok if you only complete one feature in this session, as there will be more sessions later that continue to make progress.
@@ -143,31 +143,48 @@ test("user can send a message and receive response", async ({ page }) => {
- Mark tests passing without all Playwright tests green
- Increase any playwright timeouts past 10s
### STEP 7: UPDATE feature_list.json (CAREFULLY!)
### STEP 7: UPDATE .automaker/feature_list.json AND DELETE TESTS
**YOU CAN ONLY MODIFY ONE FIELD: "passes"**
**YOU CAN ONLY MODIFY ONE FIELD: "status"**
After thorough verification, change:
After implementing a feature:
1. Run all Playwright tests for that feature
2. Verify all tests pass
3. **If all tests pass:**
- Change status to `"verified"`
- **DELETE the test file(s) for this feature**
4. **If any tests fail:** Keep status as `"in_progress"` and fix issues
Status transitions:
```json
"passes": false
"status": "backlog" Start working on it "status": "in_progress"
"status": "in_progress" Tests pass "status": "verified" + DELETE TESTS
"status": "in_progress" Tests fail Keep as "in_progress", fix issues
```
to:
**Test Deletion Policy:**
```json
"passes": true
Tests are ONLY for verifying the feature you just built. Once verified:
```bash
# Delete the test file for this feature
rm tests/[feature-name].spec.ts
```
This prevents test accumulation and brittleness as the app changes rapidly.
**NEVER:**
- Remove tests
- Edit test descriptions
- Modify test steps
- Combine or consolidate tests
- Reorder tests
- Mark as "verified" without tests passing
- Keep tests after verification
**ONLY CHANGE "passes" FIELD AFTER ALL PLAYWRIGHT TESTS PASS.**
**CRITICAL: AFTER MARKING AS "verified", DELETE THE TEST FILE IMMEDIATELY.**
### STEP 8: COMMIT YOUR PROGRESS
@@ -175,12 +192,12 @@ Make a descriptive git commit:
```bash
git add .
git commit -m "Implement [feature name] - verified with Playwright tests
git commit -m "Implement [feature name] - verified and cleaned up
- Added [specific changes]
- Added/updated Playwright tests in tests/
- All tests passing
- Updated feature_list.json: marked test #X as passing
- Verified with Playwright tests (all passing)
- Deleted test file(s) after verification
- Updated .automaker/feature_list.json: marked feature #X as "verified"
"
git push origin main
```
@@ -201,7 +218,7 @@ Before context fills up:
1. Commit all working code
2. Update claude-progress.txt
3. Update feature_list.json if tests verified
3. Update .automaker/feature_list.json if tests verified
4. Ensure no uncommitted changes
5. Leave app in working state (no broken features)

View File

@@ -9,13 +9,14 @@ Start by reading `app_spec.txt` in your working directory. This file contains
the complete specification for what you need to build. Read it carefully
before proceeding.
### CRITICAL FIRST TASK: Create feature_list.json
### CRITICAL FIRST TASK: Create .automaker/feature_list.json
Based on `app_spec.txt`, create a file called `feature_list.json` with 200 detailed
end-to-end test cases. This file is the single source of truth for what
needs to be built.
**Format:**
```json
[
{
@@ -41,7 +42,8 @@ needs to be built.
]
```
**Requirements for feature_list.json:**
**Requirements for .automaker/feature_list.json:**
- Minimum 200 features total with testing steps for each
- Both "functional" and "style" categories
- Mix of narrow tests (2-5 steps) and comprehensive tests (10+ steps)
@@ -70,11 +72,12 @@ Base the script on the technology stack specified in `app_spec.txt`.
### THIRD TASK: Initialize Git
Create a git repository and make your first commit with:
- feature_list.json (complete with all 200+ features)
- .automaker/feature_list.json (complete with all 200+ features)
- init.sh (environment setup script)
- README.md (project overview and setup instructions)
Commit message: "Initial setup: feature_list.json, init.sh, and project structure"
Commit message: "Initial setup: .automaker/feature_list.json, init.sh, and project structure"
### FOURTH TASK: Create Project Structure
@@ -85,7 +88,8 @@ components mentioned in the spec.
### OPTIONAL: Start Implementation
If you have time remaining in this session, you may begin implementing
the highest-priority features from feature_list.json. Remember:
the highest-priority features from .automaker/feature_list.json. Remember:
- Work on ONE feature at a time
- Test thoroughly before marking "passes": true
- Commit your progress before session ends
@@ -93,9 +97,10 @@ the highest-priority features from feature_list.json. Remember:
### ENDING THIS SESSION
Before your context fills up:
1. Commit all work with descriptive messages
2. Create `claude-progress.txt` with a summary of what you accomplished
3. Ensure feature_list.json is complete and saved
3. Ensure .automaker/feature_list.json is complete and saved
4. Leave the environment in a clean, working state
The next agent will continue from here with a fresh context window.