feature-loop-harness-cli 0.1.0

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 (40) hide show
  1. package/README.md +53 -0
  2. package/bin/flh.js +391 -0
  3. package/package.json +29 -0
  4. package/templates/default/.codex/config.toml +2 -0
  5. package/templates/default/.codex/hooks/user-prompt-submit.sh +5 -0
  6. package/templates/default/.codex/hooks.json +16 -0
  7. package/templates/default/.flh/docs/FEATURE_IMPLEMENTATION_PIPELINE.md +454 -0
  8. package/templates/default/.flh/docs/PROJECT_WORKFLOW.md +270 -0
  9. package/templates/default/.flh/docs/REVIEW_PATCH_PIPELINE.md +166 -0
  10. package/templates/default/.flh/hooks/user_prompt_submit.py +1440 -0
  11. package/templates/default/.flh/runtime/STATE.md +84 -0
  12. package/templates/default/.flh/scripts/pre_commit.py +674 -0
  13. package/templates/default/.flh/workflow/docs-spec.yml +134 -0
  14. package/templates/default/.flh/workflow/flow.yml +82 -0
  15. package/templates/default/.flh/workflow/request-patterns.yml +265 -0
  16. package/templates/default/.flh/workflow/state-actions.yml +117 -0
  17. package/templates/default/.flh/workflow/transition-guards.yml +57 -0
  18. package/templates/default/.husky/pre-commit +3 -0
  19. package/templates/default/AGENTS.md +44 -0
  20. package/templates/default/HARNESS_MANUAL.md +1105 -0
  21. package/templates/default/README.md +251 -0
  22. package/templates/default/docs/API.md +41 -0
  23. package/templates/default/docs/ARCHITECTURE.md +86 -0
  24. package/templates/default/docs/DB_SCHEMA.md +149 -0
  25. package/templates/default/docs/DESIGN.md +52 -0
  26. package/templates/default/docs/MVP.md +47 -0
  27. package/templates/default/docs/QUALITY_SCORE.md +54 -0
  28. package/templates/default/docs/docs-map.md +64 -0
  29. package/templates/default/docs/features/active/.gitkeep +1 -0
  30. package/templates/default/docs/features/backlog/.gitkeep +1 -0
  31. package/templates/default/docs/features/blocked/.gitkeep +1 -0
  32. package/templates/default/docs/features/done/.gitkeep +1 -0
  33. package/templates/default/docs/features/feature-index.md +21 -0
  34. package/templates/default/docs/features/postponed/.gitkeep +1 -0
  35. package/templates/default/docs/features/ready/.gitkeep +1 -0
  36. package/templates/default/docs/features/review/.gitkeep +1 -0
  37. package/templates/default/docs/source-layout.yml +33 -0
  38. package/templates/default/gitignore.template +9 -0
  39. package/templates/default/tests/hooks/test_pre_commit.py +659 -0
  40. package/templates/default/tests/hooks/test_user_prompt_submit.py +750 -0
@@ -0,0 +1,64 @@
1
+ # docs-map.md
2
+
3
+ 하네스에서 사용하는 문서와 설정 파일의 목차다.
4
+
5
+ 현재 레포는 특정 제품/서비스 프로젝트를 진행하는 레포가 아니라, 실제 프로젝트 진행을 통제할 하네스 템플릿과 운영 구조를 만드는 레포다.
6
+
7
+ ---
8
+
9
+ ## Runtime
10
+
11
+ - `.flh/runtime/STATE.md`: 현재 프로젝트 워크플로우 상태, 완료 상태, 승인 기록
12
+
13
+ ---
14
+
15
+ ## Workflow Config
16
+
17
+ - `.flh/workflow/flow.yml`: 상태 목록, 상태별 허용 request_type, next state
18
+ - `.flh/workflow/state-actions.yml`: 현재 상태에서 에이전트가 수행할 짧은 체크리스트와 허용 write 범위
19
+ - `.flh/workflow/docs-spec.yml`: 문서별 완료 판정 기준
20
+ - `.flh/workflow/transition-guards.yml`: 상태 전이별 guard 조합
21
+ - `.flh/workflow/request-patterns.yml`: 사용자 프롬프트를 request_type으로 분류하기 위한 strong/alias 패턴
22
+
23
+ ---
24
+
25
+ ## Hook Runtime
26
+
27
+ - `.codex/hooks/user-prompt-submit.sh`: Codex가 실행하는 얇은 hook wrapper
28
+ - `.flh/hooks/user_prompt_submit.py`: 실제 `UserPromptSubmit` hook 본체
29
+
30
+ ---
31
+
32
+ ## Harness Operation Docs
33
+
34
+ - `.flh/docs/PROJECT_WORKFLOW.md`: 하네스가 실제 프로젝트에 적용할 프로젝트 전체 워크플로우 설명
35
+ - `.flh/docs/FEATURE_IMPLEMENTATION_PIPELINE.md`: `FEATURE_IMPLEMENTATION` 상태에서만 실행하는 기능 단위 구현 파이프라인
36
+ - `docs/QUALITY_SCORE.md`: 기능별 최종 품질 점수 전역 인덱스
37
+ - `AGENTS.md`: 에이전트가 반드시 따라야 하는 전역 안전 규칙
38
+
39
+ ---
40
+
41
+ ## Actual Project Templates
42
+
43
+ 다음 문서들은 하네스가 실제 프로젝트에 제공할 템플릿이다.
44
+ 현재 하네스 구현 과정에서 실제 프로젝트 내용을 채우지 않는다.
45
+
46
+ - `docs/MVP.md`: 실제 프로젝트의 MVP 정의 템플릿
47
+ - `docs/ARCHITECTURE.md`: 실제 프로젝트의 시스템 아키텍처 템플릿
48
+ - `docs/source-layout.yml`: 아키텍처 단계에서 결정한 source directory manifest 템플릿
49
+ - `docs/features/feature-index.md`: 실제 프로젝트의 기능 목록 템플릿
50
+ - `docs/DB_SCHEMA.md`: 실제 프로젝트의 데이터 모델 baseline 템플릿
51
+ - `docs/API.md`: 실제 프로젝트의 API 설계 템플릿
52
+ - `docs/DESIGN.md`: 실제 프로젝트의 디자인 지침 산출물. 외부 파일을 가져오거나 하네스 안에서 직접 작성한다.
53
+
54
+ ---
55
+
56
+ ## Feature State Directories
57
+
58
+ - `docs/features/backlog/`: 설계 대상으로 선택되었지만 아직 설계 문서가 완성되지 않은 기능
59
+ - `docs/features/ready/`: 설계 문서 작성 완료 후 구현 대기 중인 기능
60
+ - `docs/features/active/`: 현재 구현 중인 기능
61
+ - `docs/features/blocked/`: 외부 의존성이나 결정 대기로 멈춘 기능
62
+ - `docs/features/review/`: 최초 구현 초안 완료 후 사용자 검토/수정 중인 기능. 동시에 하나만 허용한다.
63
+ - `docs/features/done/`: 사용자가 최종 완료 승인한 기능
64
+ - `docs/features/postponed/`: 보류 또는 연기된 기능
@@ -0,0 +1,21 @@
1
+ ---
2
+ status: template
3
+ ---
4
+
5
+ # Feature Index
6
+
7
+ 이 문서는 실제 프로젝트의 기능 목록과 우선순위를 관리하기 위한 템플릿이다.
8
+
9
+ 하네스 자체의 기능 목록을 작성하지 않는다.
10
+ 실제 프로젝트를 시작할 때 이 템플릿을 프로젝트 내용으로 채우고 `status: completed`로 변경한다.
11
+
12
+ 기능의 실제 진행 상태는 이 파일이 아니라 `docs/features/*/` 디렉토리 위치를 source of truth로 본다.
13
+
14
+ ---
15
+
16
+ ## Feature List
17
+
18
+ | Feature ID | Name | Summary | Priority | Core Requirements | Dependencies | Reference |
19
+ | --- | --- | --- | --- | --- | --- | --- |
20
+ | FEAT-XXX | {{TODO_FEATURE_NAME}} | {{TODO_FEATURE_SUMMARY}} | {{TODO_PRIORITY}} | {{TODO_CORE_REQUIREMENTS}} | {{TODO_DEPENDENCIES}} | {{TODO_REFERENCE}} |
21
+
@@ -0,0 +1,33 @@
1
+ version: 1
2
+ status: template
3
+
4
+ project:
5
+ type: "{{TODO_PROJECT_TYPE}}"
6
+ package_manager: "{{TODO_PACKAGE_MANAGER}}"
7
+ workspace: "{{TODO_WORKSPACE_TRUE_OR_FALSE}}"
8
+ runtime: "{{TODO_RUNTIME}}"
9
+ persistence:
10
+ database_required: "{{TODO_DATABASE_REQUIRED_TRUE_OR_FALSE}}"
11
+ database_provider: "{{TODO_DATABASE_PROVIDER_OR_NONE}}"
12
+ scaffold_extra_root_files: []
13
+
14
+ source_roots:
15
+ example:
16
+ path: "{{TODO_SOURCE_PATH}}"
17
+ role: "{{TODO_ROLE}}"
18
+ package: "{{TODO_PACKAGE}}"
19
+ stack: "{{TODO_STACK}}"
20
+ framework: "{{TODO_FRAMEWORK_OR_NONE}}"
21
+ runtime: "{{TODO_PACKAGE_RUNTIME}}"
22
+ language: "{{TODO_LANGUAGE}}"
23
+ module: "{{TODO_MODULE_SYSTEM}}"
24
+ testing:
25
+ unit: "{{TODO_UNIT_TEST_TOOL}}"
26
+ integration: "{{TODO_INTEGRATION_TEST_TOOL_OR_NONE}}"
27
+ e2e: "{{TODO_E2E_TEST_TOOL_OR_NONE}}"
28
+ component: "{{TODO_COMPONENT_TEST_TOOL_OR_NONE}}"
29
+ tooling:
30
+ lint: "{{TODO_LINT_TOOL_OR_NONE}}"
31
+ format: "{{TODO_FORMAT_TOOL_OR_NONE}}"
32
+ scaffold: "{{TODO_SCAFFOLD_POLICY}}"
33
+ description: "{{TODO_DESCRIPTION}}"
@@ -0,0 +1,9 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ .DS_Store
4
+ *.log
5
+ node_modules/
6
+ .env
7
+ .env.*
8
+ !.env.example
9
+ blogs.md