[CLAUDE] Scaffold: khoi tao SOLUTION_ERP Phase 0
- .NET 10 Clean Architecture: Domain/Application/Infrastructure/Api (4 project) - 2 React + Vite + TS app: fe-admin (:8082), fe-user (:8080) voi proxy /api - Node engines >=20, .nvmrc = 20 cho CI (bai hoc NamGroup) - SQL Server 2022 qua docker-compose (dev) - Parse 8 FORM -> docs/forms-spec.md (catalog + ma HD format RG-001) - Parse QUY_TRINH -> docs/workflow-contract.md (9 phase state machine + role matrix) - docs: CLAUDE.md, STATUS.md, PROJECT-MAP.md, migration-todos.md (roadmap 5 phase) - .claude/skills: 3 placeholder (contract-workflow, form-engine, permission-matrix) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
21
scripts/parse_workflow.py
Normal file
21
scripts/parse_workflow.py
Normal file
@ -0,0 +1,21 @@
|
||||
"""Extract QUY_TRINH docx text for manual workflow modeling."""
|
||||
from pathlib import Path
|
||||
import docx
|
||||
|
||||
SRC = Path("D:/Dropbox/CONG_VIEC/SOLUTION/QUY_TRINH/QT TRINH KY HOP DONG TP-NCC.docx")
|
||||
OUT = Path(__file__).parent.parent / "docs" / "workflow-raw.md"
|
||||
|
||||
d = docx.Document(str(SRC))
|
||||
parts = []
|
||||
for p in d.paragraphs:
|
||||
if p.text.strip():
|
||||
parts.append(p.text)
|
||||
for i, tbl in enumerate(d.tables):
|
||||
parts.append(f"\n--- TABLE {i+1} ({len(tbl.rows)}r x {len(tbl.columns)}c) ---")
|
||||
for row in tbl.rows:
|
||||
cells = [c.text.strip().replace("\n", " | ") for c in row.cells]
|
||||
parts.append(" || ".join(cells))
|
||||
|
||||
OUT.parent.mkdir(parents=True, exist_ok=True)
|
||||
OUT.write_text("\n".join(parts), encoding="utf-8")
|
||||
print(f"OK -> {OUT} ({OUT.stat().st_size} bytes)")
|
||||
Reference in New Issue
Block a user