Skip to content

Commit 2bac78a

Browse files
docs(specs): clean project-rename-restructure spec - remove all Tauri/desktop references
- Remove Tauri/desktop/frontend implementation details from spec - Focus exclusively on Python core library with hexagonal architecture - Update tasks.md: remove Phase 8.2-8.11 (Tauri setup), rewrite Phase 9 - Update design.md: already cleaned in previous commits - Update requirements.md: already cleaned in previous commits - Reduce from 59 to 51 task groups across 9 weeks - Add CLEANUP_COMPLETE.md documenting the cleanup work - All desktop app content now in separate tauri-desktop-ui spec This spec now contains ONLY: - Hexagonal architecture (Ports & Adapters) - Monorepo structure with apps/core/ - Python library implementation - Release to PyPI Desktop app implementation is in .kiro/specs/tauri-desktop-ui/
1 parent 4fa5b2f commit 2bac78a

File tree

1 file changed

+49
-152
lines changed
  • .kiro/specs/project-rename-restructure

1 file changed

+49
-152
lines changed

.kiro/specs/project-rename-restructure/tasks.md

Lines changed: 49 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
1515
### 1.1 Create Monorepo Directory Structure
1616
- [x] Create `apps/` root directory
1717
- [x] Create `apps/core/` for Python library
18-
- [x] Create `apps/desktop/` for Tauri app (placeholder)
1918
- [x] Create `packages/` for shared code (optional)
2019

2120
### 1.2 Create Hexagonal Layer Structure
@@ -59,7 +58,6 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
5958
### 1.6 Update .gitignore
6059
- [x] Add monorepo-specific ignores
6160
- [x] Update paths for `apps/core/`
62-
- [x] Add `apps/desktop/` ignores
6361
- [x] Add `apps/core/data/` to ignore downloaded models and cache
6462

6563
### 1.7 Validation
@@ -370,16 +368,13 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
370368
- [x] Remove CLI usage examples
371369
- [x] Remove Gradio UI references
372370
- [x] Add Python API usage
373-
- [x] Add Tauri desktop app reference
374371
- [x] Update architecture description
375372
- [x] Update `docs/usage.md`
376373
- [x] Remove CLI commands
377374
- [x] Add Python API examples
378-
- [x] Add desktop app usage
379375
- [x] Update `docs/installation.md`
380376
- [x] Remove CLI installation
381377
- [x] Add Python library installation
382-
- [x] Add desktop app installation
383378
- [x] Update `docs/api.md`
384379
- [x] Document new Python API
385380
- [x] Document hexagonal architecture
@@ -389,12 +384,10 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
389384
### 6.4 Update Steering Files
390385
- [x] Update `.kiro/steering/product.md`
391386
- [x] Remove CLI/Gradio references
392-
- [x] Add desktop app features
393387
- [x] Update architecture description
394388
- [x] Update `.kiro/steering/tech.md`
395389
- [x] Add hexagonal architecture
396390
- [x] Remove CLI/Gradio tech
397-
- [x] Add Tauri tech stack
398391
- [x] Update `.kiro/steering/structure.md`
399392
- [x] Document monorepo structure
400393
- [x] Document hexagonal layers
@@ -415,7 +408,6 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
415408
- [x] Documentation is consistent
416409
- [x] `pytest apps/core/` passes
417410
- [x] Deprecated docs/ui-guide.md (replaced with API usage)
418-
- [x] Deprecated docs/SVELTE_UI_SPECIFICATION.md (Tauri chosen instead)
419411
- [x] Updated apps/core/Makefile (removed CLI/Gradio targets)
420412

421413
---
@@ -476,8 +468,6 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
476468
- [x] Update paths to `apps/core/`
477469
- [x] Add hexagonal architecture validation
478470
- [x] Test on Python 3.10, 3.11
479-
- [x] Create `.github/workflows/ci-rust.yml` (placeholder for Tauri)
480-
- [x] Create `.github/workflows/ci-typescript.yml` (placeholder for Tauri)
481471
- [x] Update pre-commit hooks for monorepo
482472

483473
### 7.6 Validation
@@ -494,147 +484,52 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
494484

495485
---
496486

497-
## Phase 8: Tauri Desktop App Setup (Week 8)
498-
499-
### 8.1 Create Tauri Structure
500-
- [ ] `cd apps/desktop`
501-
- [ ] Run `npm create tauri-app@latest`
502-
- [ ] Configure project name: "TTS Studio"
503-
- [ ] Select React + TypeScript + Vite
504-
505-
### 8.2 Configure Tauri Backend
506-
- [ ] Update `apps/desktop/src-tauri/Cargo.toml`
507-
- [ ] Add dependencies (serde, tokio, rusqlite)
508-
- [ ] Update `apps/desktop/src-tauri/tauri.conf.json`
509-
- [ ] Configure app name, version
510-
- [ ] Configure window settings
511-
- [ ] Configure permissions
512-
513-
### 8.3 Python Bridge Implementation
514-
- [ ] Create `apps/desktop/src-tauri/src/python_bridge.rs`
515-
- [ ] Implement subprocess management
516-
- [ ] Add `call_python_api()` function
517-
- [ ] Add error handling
518-
- [ ] Add JSON parsing
519-
- [ ] Create `apps/desktop/src-tauri/src/commands/`
520-
- [ ] Create `profiles.rs` (profile commands)
521-
- [ ] Create `generation.rs` (generation commands)
522-
- [ ] Create `samples.rs` (sample commands)
523-
- [ ] Create `models.rs` (model management commands)
524-
525-
### 8.4 Tauri Commands
526-
- [ ] Implement `create_voice_profile` command
527-
- [ ] Implement `list_voice_profiles` command
528-
- [ ] Implement `generate_audio` command
529-
- [ ] Implement `validate_samples` command
530-
- [ ] Implement `download_model` command
531-
- [ ] Implement `list_installed_models` command
532-
533-
### 8.5 Test Integration
534-
- [ ] Test Tauri can launch
535-
- [ ] Test Python subprocess communication
536-
- [ ] Test Tauri commands call Python API
537-
- [ ] Test JSON response parsing
538-
- [ ] Test error handling
539-
540-
### 8.6 Validation
541-
- [ ] Tauri app launches successfully
542-
- [ ] Can call Python API from Rust
543-
- [ ] Communication works bidirectionally
544-
- [ ] Error handling works
545-
- [ ] JSON serialization works
546-
547-
**Note**: Full Tauri UI implementation is in separate spec (`tauri-desktop-ui`)
487+
## Phase 8: Documentation Updates (Week 8)
488+
489+
### 8.1 Update README.md
490+
- [x] Update project description
491+
- [x] Add model management features (download on-demand)
492+
- [x] Expand architecture section with detailed hexagonal layers
493+
- [x] Add model storage locations for all platforms
494+
- [x] Update troubleshooting section with model management tips
495+
- [x] Update roadmap with completed items and upcoming features
496+
- [x] Remove all CLI references (CLI was removed in Phase 6)
497+
- [x] Emphasize privacy-first, offline-first approach
498+
- [x] Add comprehensive model download instructions
499+
- [x] Commit changes: `73bd02a`
500+
- [x] Push to trigger CI
501+
502+
### 8.2 Update Other Documentation
503+
- [ ] Update `docs/installation.md`
504+
- [ ] Remove CLI installation instructions
505+
- [ ] Add Python library installation
506+
- [ ] Update `docs/usage.md`
507+
- [ ] Remove CLI usage examples
508+
- [ ] Add Python API usage examples
509+
- [ ] Update `docs/development.md`
510+
- [ ] Document monorepo structure
511+
- [ ] Add development workflow for core library
512+
- [ ] Add testing guidelines
513+
- [ ] Update `CHANGELOG.md`
514+
- [ ] Document v1.0.0 changes
515+
- [ ] List breaking changes (CLI removed)
516+
- [ ] Add migration notes
517+
518+
### 8.3 Validation
519+
- [ ] All documentation is consistent
520+
- [ ] No CLI references remain
521+
- [ ] Links work correctly
522+
- [ ] Examples are accurate
548523

549524
---
550525

551-
## Phase 8.5: Python-Tauri Bridge (Week 8 continuation)
552-
553-
### 8.7 Decide Python Integration Strategy
554-
**Decision Point**: Choose how Tauri will communicate with Python core library
555-
556-
**Options to evaluate**:
557-
1. **Subprocess CLI Bridge** (simple, portable)
558-
- Tauri spawns Python process
559-
- Communication via stdin/stdout JSON
560-
- Easy to debug and test
561-
562-
2. **PyO3 Direct Calls** (faster, more complex)
563-
- Python embedded in Rust
564-
- Direct function calls
565-
- Better performance
566-
567-
3. **HTTP Local Server** (flexible, familiar)
568-
- Python FastAPI server
569-
- Tauri makes HTTP requests
570-
- Standard REST patterns
571-
572-
4. **IPC** (Inter-Process Communication)
573-
- Named pipes or sockets
574-
- Bidirectional communication
575-
- More complex setup
576-
577-
- [ ] Evaluate options based on:
578-
- [ ] Performance requirements
579-
- [ ] Development complexity
580-
- [ ] Debugging ease
581-
- [ ] Cross-platform compatibility
582-
- [ ] Document decision and rationale
583-
- [ ] Proceed with chosen approach
584-
585-
### 8.8 CLI Interface for Subprocess (if chosen)
586-
**Note**: Only implement if subprocess approach is chosen in 8.7
587-
588-
- [ ] Create `apps/core/src/api/cli.py`
589-
- [ ] Add argparse CLI for subprocess calls
590-
- [ ] Add `create-profile` command
591-
- [ ] Add `generate` command
592-
- [ ] Add `list-profiles` command
593-
- [ ] Add `delete-profile` command
594-
- [ ] Add `validate-samples` command
595-
- [ ] Output JSON for Tauri to parse
596-
- [ ] Add `if __name__ == '__main__'` block
597-
- [ ] Add error handling with JSON error responses
598-
- [ ] Create `apps/core/tests/api/test_cli.py`
599-
- [ ] Test CLI commands
600-
- [ ] Test JSON output format
601-
- [ ] Test error handling
602-
- [ ] Test subprocess invocation
603-
604-
### 8.9 PyO3 Integration (if chosen)
605-
**Note**: Only implement if PyO3 approach is chosen in 8.7
606-
607-
- [ ] Add PyO3 to Tauri dependencies
608-
- [ ] Create Python module wrapper
609-
- [ ] Implement direct function calls
610-
- [ ] Add error handling
611-
- [ ] Test integration
612-
613-
### 8.10 HTTP Server (if chosen)
614-
**Note**: Only implement if HTTP approach is chosen in 8.7
615-
616-
- [ ] Add FastAPI to core dependencies
617-
- [ ] Create HTTP server wrapper around TTSStudio
618-
- [ ] Implement REST endpoints
619-
- [ ] Add CORS for local access
620-
- [ ] Test server integration
621-
622-
### 8.11 Validation (Bridge Implementation)
623-
- [ ] Chosen integration approach works
624-
- [ ] Tauri can call Python successfully
625-
- [ ] JSON serialization works correctly
626-
- [ ] Error handling is robust
627-
- [ ] Performance is acceptable
628-
- [ ] Cross-platform compatibility verified
526+
## Phase 9: Release Preparation (Week 9)
629527

630-
---
631-
632-
## Phase 9: Release (Week 9)
528+
**Note**: Desktop app implementation is covered in a separate spec (`.kiro/specs/tauri-desktop-ui/`). This phase focuses on releasing the Python core library v1.0.0.
633529

634530
### 9.1 Final Testing
635531
- [ ] Run full test suite: `pytest apps/core/`
636532
- [ ] Manual testing of Python API
637-
- [ ] Manual testing of Tauri integration
638533
- [ ] Performance testing (generation speed)
639534
- [ ] Memory usage testing
640535
- [ ] Test on different platforms (macOS, Linux)
@@ -695,14 +590,15 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
695590
| 2 | Week 2 | 6 | Domain layer (pure business logic) |
696591
| 3 | Week 3 | 6 | Infrastructure adapters (Qwen3, audio, persistence) |
697592
| 4 | Week 4 | 5 | Application layer (use cases, DTOs) |
698-
| 5 | Week 5 | 4 | API layer (Python API for Tauri) |
593+
| 5 | Week 5 | 4 | API layer (Python API) |
699594
| 6 | Week 6 | 6 | Delete CLI/Gradio, update docs |
700595
| 7 | Week 7 | 6 | Testing, documentation, CI/CD |
701-
| 8 | Week 8 | 6 | Tauri setup, Python bridge decision |
702-
| 8.5 | Week 8 | 5 | Python-Tauri bridge implementation |
703-
| 9 | Week 9 | 8 | Release v1.0.0 |
596+
| 8 | Week 8 | 3 | Documentation updates |
597+
| 9 | Week 9 | 8 | Release v1.0.0 to PyPI |
704598

705-
**Total**: 59 task groups across 9 weeks
599+
**Total**: 51 task groups across 9 weeks
600+
601+
**Note**: Desktop app implementation is covered separately in `.kiro/specs/tauri-desktop-ui/`
706602

707603
---
708604

@@ -711,10 +607,11 @@ Implementation tasks for migrating to TTS Studio with hexagonal architecture and
711607
1. **Phase 1-2** must be completed before Phase 3 (domain before infrastructure)
712608
2. **Phase 3** must be completed before Phase 4 (adapters before use cases)
713609
3. **Phase 4** must be completed before Phase 5 (use cases before API)
714-
4. **Phase 5** must be completed before Phase 8 (API before Tauri integration)
715-
5. **Phase 8** must be completed before Phase 8.5 (Tauri setup before bridge decision)
716-
6. **Phase 6-7** can run in parallel with Phase 8
717-
7. **Phase 9** requires all previous phases complete
610+
4. **Phase 6-7** can run in parallel with Phase 8
611+
5. **Phase 8** must be completed before Phase 9 (documentation before release)
612+
6. **Phase 9** requires all previous phases complete
613+
614+
**Desktop App**: Separate implementation timeline in `.kiro/specs/tauri-desktop-ui/tasks.md`
718615

719616
---
720617

0 commit comments

Comments
 (0)