1
0

generate_taiga_wiki.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import os
  2. from datetime import datetime, timedelta
  3. os.makedirs('taiga_wiki', exist_ok=True)
  4. start_date = datetime(2026, 4, 16)
  5. sprints = 8
  6. points_per_sprint = 1000
  7. # 00_Epics.md
  8. with open('taiga_wiki/00_Epics.md', 'w') as f:
  9. f.write("# Project Epics\n\n1. Environment & Infrastructure Setup\n2. Database Schema & User Security\n3. Data Ingestion Pipeline\n4. Advanced Text & Context Search\n5. Local LLM Integration (Ollama)\n6. Streamlit Chat Interface Development\n7. Testing & Refinement\n8. Production Deployment\n")
  10. for i in range(1, sprints + 1):
  11. sprint_start = start_date + timedelta(weeks=i-1)
  12. sprint_end = sprint_start + timedelta(days=6)
  13. sprint_str = f"Sprint_{i}"
  14. file_path = f"taiga_wiki/Sprint_{i}.md"
  15. with open(file_path, 'w') as f:
  16. f.write(f"# Sprint {i}\n\n")
  17. f.write(f"**Sprint Tag**: {sprint_str}\n")
  18. f.write(f"**Story Points**: {points_per_sprint}\n")
  19. f.write(f"**Members**: francois, evegi144\n\n")
  20. # Sprint Planning
  21. f.write(f"## {sprint_start.strftime('%Y/%m/%d')} Planning\n")
  22. if i == 1:
  23. f.write("- [x] Initialize Git Repo and configure AI History context.\n")
  24. f.write("- [x] Setup Taiga Wiki and Backlog generation.\n")
  25. f.write("- [x] Finalize `deploy.sh` and Database Setup (`init.sql`, `setup_db.py`).\n")
  26. f.write("- [x] Data Ingestion Pipeline (`ingest_csv.py`, `convert_datatypes.py`).\n")
  27. f.write("- [x] Build basic Streamlit Base App (`app.py`).\n\n")
  28. elif i == 2:
  29. f.write("- [x] Execute Sprint 2: Core Nutritional Database.\n")
  30. f.write("- [x] Test and verify `ingest_csv.py` for CSV Pandas imports.\n")
  31. f.write("- [x] Implement the Database Search tab in the Streamlit UI (`app.py`).\n\n")
  32. else:
  33. f.write("- Planning notes...\n\n")
  34. # Daily Scrums
  35. for d in range(5):
  36. day_date = sprint_start + timedelta(days=d)
  37. f.write(f"### {day_date.strftime('%Y/%m/%d')} Daily Scrum\n")
  38. f.write("- **evegi144**: \n")
  39. if i == 1 and d == 0:
  40. f.write("- **francois**: Set up git, database, and ingestion scripts.\n\n")
  41. elif i == 2 and d == 0:
  42. f.write("- **francois**: Verified Streamlit search views and Pandas ingestion pipeline.\n\n")
  43. else:
  44. f.write("- **francois**: \n\n")
  45. # Sprint Review
  46. f.write(f"## {sprint_end.strftime('%Y/%m/%d')} Review\n")
  47. if i == 1:
  48. f.write("- **Review**: Successfully pushed all foundational files to Git and configured DB schemas.\n\n")
  49. elif i == 2:
  50. f.write("- **Review**: Data ingestion strategy and Streamlit search features are fully coded and finalized ahead of schedule.\n\n")
  51. else:
  52. f.write("- Review notes...\n\n")
  53. # Sprint Retrospective
  54. f.write(f"## {sprint_end.strftime('%Y/%m/%d')} Retrospective\n")
  55. if i == 1:
  56. f.write("- **Retrospective**: Good velocity. Environment setup went smoothly.\n\n")
  57. elif i == 2:
  58. f.write("- **Retrospective**: Extremely efficient. By pre-building `app.py` search logic during Sprint 1, Sprint 2 was completed seamlessly.\n\n")
  59. else:
  60. f.write("- Retrospective notes...\n\n")
  61. print("Files generated successfully in taiga_wiki/")