aiwf 0.3.16 → 0.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.ko.md +1 -1
  2. package/README.md +88 -229
  3. package/docs/ADR_MANAGEMENT_GUIDE.ko.md +602 -0
  4. package/docs/ADR_MANAGEMENT_GUIDE.md +602 -0
  5. package/docs/API_REFERENCE_FULL.ko.md +160 -4
  6. package/docs/API_REFERENCE_FULL.md +160 -4
  7. package/docs/EXAMPLES.ko.md +695 -0
  8. package/docs/EXAMPLES.md +12 -12
  9. package/docs/GETTING_STARTED.md +19 -25
  10. package/docs/MODULE_MANAGEMENT_GUIDE.ko.md +289 -0
  11. package/docs/MODULE_MANAGEMENT_GUIDE.md +289 -0
  12. package/docs/PRD.ko.md +2 -2
  13. package/docs/PRD.md +2 -2
  14. package/docs/YOLO_SYSTEM_GUIDE.ko.md +542 -0
  15. package/docs/YOLO_SYSTEM_GUIDE.md +542 -0
  16. package/package.json +1 -1
  17. package/src/config/file-lists.js +5 -5
  18. package/templates/README.md +0 -78
  19. package/templates/api-server/config.json +0 -64
  20. package/templates/api-server/template/.aiwf/config.json +0 -56
  21. package/templates/api-server/template/.aiwf/feature-ledger.json +0 -42
  22. package/templates/api-server/template/.aiwf/personas/backend-engineer.json +0 -40
  23. package/templates/api-server/template/.aiwf/scripts/cli.js +0 -111
  24. package/templates/api-server/template/.env.example +0 -29
  25. package/templates/api-server/template/.eslintrc.json +0 -23
  26. package/templates/api-server/template/README.md +0 -171
  27. package/templates/api-server/template/jest.config.js +0 -26
  28. package/templates/api-server/template/nodemon.json +0 -9
  29. package/templates/api-server/template/package.json +0 -61
  30. package/templates/api-server/template/src/app.ts +0 -60
  31. package/templates/api-server/template/src/config/swagger.ts +0 -38
  32. package/templates/api-server/template/src/controllers/aiwfController.ts +0 -54
  33. package/templates/api-server/template/src/controllers/authController.ts +0 -128
  34. package/templates/api-server/template/src/controllers/statusController.ts +0 -28
  35. package/templates/api-server/template/src/index.ts +0 -28
  36. package/templates/api-server/template/src/middleware/aiwfMiddleware.ts +0 -50
  37. package/templates/api-server/template/src/middleware/authMiddleware.ts +0 -41
  38. package/templates/api-server/template/src/middleware/errorHandler.ts +0 -42
  39. package/templates/api-server/template/src/middleware/notFoundHandler.ts +0 -14
  40. package/templates/api-server/template/src/middleware/requestLogger.ts +0 -20
  41. package/templates/api-server/template/src/routes/aiwf.ts +0 -31
  42. package/templates/api-server/template/src/routes/index.ts +0 -13
  43. package/templates/api-server/template/src/routes/v1/index.ts +0 -67
  44. package/templates/api-server/template/src/utils/logger.ts +0 -37
  45. package/templates/api-server/template/tests/app.test.ts +0 -40
  46. package/templates/api-server/template/tsconfig.json +0 -43
  47. package/templates/npm-library/config.json +0 -61
  48. package/templates/npm-library/template/LICENSE +0 -21
  49. package/templates/npm-library/template/README.md +0 -201
  50. package/templates/npm-library/template/package.json +0 -78
  51. package/templates/web-app/config.json +0 -53
  52. package/templates/web-app/template/.aiwf/config.json +0 -54
  53. package/templates/web-app/template/.aiwf/feature-ledger.json +0 -37
  54. package/templates/web-app/template/.aiwf/personas/fullstack-developer.json +0 -40
  55. package/templates/web-app/template/.aiwf/scripts/cli.js +0 -110
  56. package/templates/web-app/template/.eslintrc.cjs +0 -20
  57. package/templates/web-app/template/README.md +0 -151
  58. package/templates/web-app/template/index.html +0 -14
  59. package/templates/web-app/template/package.json +0 -44
  60. package/templates/web-app/template/postcss.config.js +0 -6
  61. package/templates/web-app/template/public/vite.svg +0 -1
  62. package/templates/web-app/template/src/App.tsx +0 -21
  63. package/templates/web-app/template/src/components/Layout.tsx +0 -57
  64. package/templates/web-app/template/src/components/aiwf/ContextStatus.tsx +0 -107
  65. package/templates/web-app/template/src/components/aiwf/TokenUsage.tsx +0 -71
  66. package/templates/web-app/template/src/index.css +0 -60
  67. package/templates/web-app/template/src/main.tsx +0 -10
  68. package/templates/web-app/template/src/pages/AiwfDashboard.tsx +0 -57
  69. package/templates/web-app/template/src/pages/HomePage.tsx +0 -89
  70. package/templates/web-app/template/src/pages/NotFound.tsx +0 -25
  71. package/templates/web-app/template/src/stores/aiwfStore.ts +0 -126
  72. package/templates/web-app/template/src/types/global.d.ts +0 -9
  73. package/templates/web-app/template/src/vite-env.d.ts +0 -1
  74. package/templates/web-app/template/tailwind.config.js +0 -30
  75. package/templates/web-app/template/tsconfig.json +0 -37
  76. package/templates/web-app/template/tsconfig.node.json +0 -10
  77. package/templates/web-app/template/vite.config.ts +0 -23
  78. /package/rules/global/{code-style-guide.md → aiwf-code-style-guide.md} +0 -0
  79. /package/rules/global/{coding-principles.md → aiwf-coding-principles.md} +0 -0
  80. /package/rules/global/{development-process.md → aiwf-development-process.md} +0 -0
  81. /package/rules/global/{global-rules.md → aiwf-global-rules.md} +0 -0
  82. /package/rules/manual/{generate-plan-docs.md → aiwf-generate-plan-docs.md} +0 -0
@@ -491,6 +491,78 @@ async createInteractiveYoloConfig(): Promise<void>
491
491
 
492
492
  ## 유틸리티 API
493
493
 
494
+ ### 엔지니어링 가드
495
+
496
+ 자율 실행 중 오버엔지니어링을 방지하고 코드 품질을 유지합니다.
497
+
498
+ #### 클래스: `EngineeringGuard`
499
+
500
+ ```javascript
501
+ import { EngineeringGuard } from 'aiwf/utils/engineering-guard';
502
+ ```
503
+
504
+ ##### 생성자
505
+
506
+ ```javascript
507
+ new EngineeringGuard(configPath?: string)
508
+ ```
509
+
510
+ ##### 메서드
511
+
512
+ ###### `checkFileComplexity(filePath)`
513
+
514
+ 단일 파일의 복잡성 위반을 검사합니다.
515
+
516
+ ```javascript
517
+ async checkFileComplexity(filePath: string): Promise<void>
518
+ ```
519
+
520
+ ###### `checkProject(projectPath, filePatterns)`
521
+
522
+ 프로젝트 전체의 포괄적인 복잡성 분석을 수행합니다.
523
+
524
+ ```javascript
525
+ async checkProject(
526
+ projectPath: string,
527
+ filePatterns?: string[]
528
+ ): Promise<GuardReport>
529
+ ```
530
+
531
+ **반환값:**
532
+ ```typescript
533
+ interface GuardReport {
534
+ passed: boolean;
535
+ violations: Violation[];
536
+ warnings: Warning[];
537
+ summary: {
538
+ total_violations: number;
539
+ high_severity: number;
540
+ medium_severity: number;
541
+ warnings: number;
542
+ };
543
+ recommendations: string[];
544
+ }
545
+ ```
546
+
547
+ ###### `provideFeedback(filePath, content)`
548
+
549
+ 개발 중 실시간 피드백을 제공합니다.
550
+
551
+ ```javascript
552
+ async provideFeedback(
553
+ filePath: string,
554
+ content?: string
555
+ ): Promise<Feedback[]>
556
+ ```
557
+
558
+ ###### `generateReport()`
559
+
560
+ 포괄적인 분석 리포트를 생성합니다.
561
+
562
+ ```javascript
563
+ generateReport(): GuardReport
564
+ ```
565
+
494
566
  ### 체크포인트 관리자
495
567
 
496
568
  상태 체크포인트와 복구를 관리합니다.
@@ -501,15 +573,45 @@ async createInteractiveYoloConfig(): Promise<void>
501
573
  import { CheckpointManager } from 'aiwf/utils/checkpoint-manager';
502
574
  ```
503
575
 
576
+ ##### 생성자
577
+
578
+ ```javascript
579
+ new CheckpointManager(projectRoot: string)
580
+ ```
581
+
504
582
  ##### 메서드
505
583
 
506
- ###### `createCheckpoint(state, metadata)`
584
+ ###### `startSession(sprintId, mode)`
585
+
586
+ 추적과 함께 새 YOLO 세션을 시작합니다.
587
+
588
+ ```javascript
589
+ async startSession(sprintId: string, mode?: string): Promise<void>
590
+ ```
591
+
592
+ ###### `startTask(taskId, taskInfo)`
593
+
594
+ 특정 태스크 추적을 시작합니다.
595
+
596
+ ```javascript
597
+ async startTask(taskId: string, taskInfo?: any): Promise<void>
598
+ ```
599
+
600
+ ###### `completeTask(taskId, result)`
601
+
602
+ 태스크를 결과와 함께 완료된 것으로 표시합니다.
603
+
604
+ ```javascript
605
+ async completeTask(taskId: string, result?: any): Promise<void>
606
+ ```
607
+
608
+ ###### `createCheckpoint(type, metadata)`
507
609
 
508
610
  새 체크포인트를 생성합니다.
509
611
 
510
612
  ```javascript
511
613
  async createCheckpoint(
512
- state: any,
614
+ type?: string,
513
615
  metadata?: CheckpointMetadata
514
616
  ): Promise<string>
515
617
  ```
@@ -522,12 +624,66 @@ async createCheckpoint(
522
624
  async listCheckpoints(): Promise<CheckpointInfo[]>
523
625
  ```
524
626
 
525
- ###### `restoreCheckpoint(checkpointId)`
627
+ ###### `restoreFromCheckpoint(checkpointId)`
526
628
 
527
629
  특정 체크포인트에서 복원합니다.
528
630
 
529
631
  ```javascript
530
- async restoreCheckpoint(checkpointId: string): Promise<any>
632
+ async restoreFromCheckpoint(checkpointId: string): Promise<RestoreResult>
633
+ ```
634
+
635
+ **반환값:**
636
+ ```typescript
637
+ interface RestoreResult {
638
+ success: boolean;
639
+ checkpoint: Checkpoint;
640
+ tasks_to_resume: {
641
+ completed: string[];
642
+ current: string | null;
643
+ next_task_hint: string;
644
+ };
645
+ }
646
+ ```
647
+
648
+ ###### `generateProgressReport()`
649
+
650
+ 포괄적인 진행률 리포트를 생성합니다.
651
+
652
+ ```javascript
653
+ async generateProgressReport(): Promise<ProgressReport>
654
+ ```
655
+
656
+ **반환값:**
657
+ ```typescript
658
+ interface ProgressReport {
659
+ session: {
660
+ id: string;
661
+ started: string;
662
+ sprint: string;
663
+ mode: string;
664
+ };
665
+ progress: {
666
+ completed: number;
667
+ failed: number;
668
+ skipped: number;
669
+ current: string;
670
+ };
671
+ performance: {
672
+ total_time: string;
673
+ avg_task_time: string;
674
+ success_rate: string;
675
+ };
676
+ checkpoints: CheckpointInfo[];
677
+ recommendations: string[];
678
+ }
679
+ ```
680
+
681
+ ###### `endSession(summary)`
682
+
683
+ 현재 세션을 종료하고 최종 리포트를 생성합니다.
684
+
685
+ ```javascript
686
+ async endSession(summary?: any): Promise<ProgressReport>
531
687
  ```
532
688
 
533
689
  ### Git 유틸리티
@@ -491,6 +491,78 @@ async createInteractiveYoloConfig(): Promise<void>
491
491
 
492
492
  ## Utility APIs
493
493
 
494
+ ### Engineering Guard
495
+
496
+ Prevents over-engineering and maintains code quality during autonomous execution.
497
+
498
+ #### Class: `EngineeringGuard`
499
+
500
+ ```javascript
501
+ import { EngineeringGuard } from 'aiwf/utils/engineering-guard';
502
+ ```
503
+
504
+ ##### Constructor
505
+
506
+ ```javascript
507
+ new EngineeringGuard(configPath?: string)
508
+ ```
509
+
510
+ ##### Methods
511
+
512
+ ###### `checkFileComplexity(filePath)`
513
+
514
+ Checks a single file for complexity violations.
515
+
516
+ ```javascript
517
+ async checkFileComplexity(filePath: string): Promise<void>
518
+ ```
519
+
520
+ ###### `checkProject(projectPath, filePatterns)`
521
+
522
+ Performs comprehensive project-wide complexity analysis.
523
+
524
+ ```javascript
525
+ async checkProject(
526
+ projectPath: string,
527
+ filePatterns?: string[]
528
+ ): Promise<GuardReport>
529
+ ```
530
+
531
+ **Returns:**
532
+ ```typescript
533
+ interface GuardReport {
534
+ passed: boolean;
535
+ violations: Violation[];
536
+ warnings: Warning[];
537
+ summary: {
538
+ total_violations: number;
539
+ high_severity: number;
540
+ medium_severity: number;
541
+ warnings: number;
542
+ };
543
+ recommendations: string[];
544
+ }
545
+ ```
546
+
547
+ ###### `provideFeedback(filePath, content)`
548
+
549
+ Provides real-time feedback during development.
550
+
551
+ ```javascript
552
+ async provideFeedback(
553
+ filePath: string,
554
+ content?: string
555
+ ): Promise<Feedback[]>
556
+ ```
557
+
558
+ ###### `generateReport()`
559
+
560
+ Generates comprehensive analysis report.
561
+
562
+ ```javascript
563
+ generateReport(): GuardReport
564
+ ```
565
+
494
566
  ### Checkpoint Manager
495
567
 
496
568
  Manages state checkpoints and recovery.
@@ -501,15 +573,45 @@ Manages state checkpoints and recovery.
501
573
  import { CheckpointManager } from 'aiwf/utils/checkpoint-manager';
502
574
  ```
503
575
 
576
+ ##### Constructor
577
+
578
+ ```javascript
579
+ new CheckpointManager(projectRoot: string)
580
+ ```
581
+
504
582
  ##### Methods
505
583
 
506
- ###### `createCheckpoint(state, metadata)`
584
+ ###### `startSession(sprintId, mode)`
585
+
586
+ Starts a new YOLO session with tracking.
587
+
588
+ ```javascript
589
+ async startSession(sprintId: string, mode?: string): Promise<void>
590
+ ```
591
+
592
+ ###### `startTask(taskId, taskInfo)`
593
+
594
+ Begins tracking a specific task.
595
+
596
+ ```javascript
597
+ async startTask(taskId: string, taskInfo?: any): Promise<void>
598
+ ```
599
+
600
+ ###### `completeTask(taskId, result)`
601
+
602
+ Marks a task as completed with results.
603
+
604
+ ```javascript
605
+ async completeTask(taskId: string, result?: any): Promise<void>
606
+ ```
607
+
608
+ ###### `createCheckpoint(type, metadata)`
507
609
 
508
610
  Creates a new checkpoint.
509
611
 
510
612
  ```javascript
511
613
  async createCheckpoint(
512
- state: any,
614
+ type?: string,
513
615
  metadata?: CheckpointMetadata
514
616
  ): Promise<string>
515
617
  ```
@@ -522,12 +624,66 @@ Lists all available checkpoints.
522
624
  async listCheckpoints(): Promise<CheckpointInfo[]>
523
625
  ```
524
626
 
525
- ###### `restoreCheckpoint(checkpointId)`
627
+ ###### `restoreFromCheckpoint(checkpointId)`
526
628
 
527
629
  Restores from a specific checkpoint.
528
630
 
529
631
  ```javascript
530
- async restoreCheckpoint(checkpointId: string): Promise<any>
632
+ async restoreFromCheckpoint(checkpointId: string): Promise<RestoreResult>
633
+ ```
634
+
635
+ **Returns:**
636
+ ```typescript
637
+ interface RestoreResult {
638
+ success: boolean;
639
+ checkpoint: Checkpoint;
640
+ tasks_to_resume: {
641
+ completed: string[];
642
+ current: string | null;
643
+ next_task_hint: string;
644
+ };
645
+ }
646
+ ```
647
+
648
+ ###### `generateProgressReport()`
649
+
650
+ Generates comprehensive progress report.
651
+
652
+ ```javascript
653
+ async generateProgressReport(): Promise<ProgressReport>
654
+ ```
655
+
656
+ **Returns:**
657
+ ```typescript
658
+ interface ProgressReport {
659
+ session: {
660
+ id: string;
661
+ started: string;
662
+ sprint: string;
663
+ mode: string;
664
+ };
665
+ progress: {
666
+ completed: number;
667
+ failed: number;
668
+ skipped: number;
669
+ current: string;
670
+ };
671
+ performance: {
672
+ total_time: string;
673
+ avg_task_time: string;
674
+ success_rate: string;
675
+ };
676
+ checkpoints: CheckpointInfo[];
677
+ recommendations: string[];
678
+ }
679
+ ```
680
+
681
+ ###### `endSession(summary)`
682
+
683
+ Ends the current session and generates final report.
684
+
685
+ ```javascript
686
+ async endSession(summary?: any): Promise<ProgressReport>
531
687
  ```
532
688
 
533
689
  ### Git Utilities