1+ @ echo off
2+ setlocal enabledelayedexpansion
3+
4+ rem Setting some required variables
5+ for /f %%i in ('where bito') do set BITO_CMD = %%i
6+ for /f " delims=" %%i in ('%BITO_CMD% -v') do set BITO_VERSION = %%i
7+ set BITO_CMD_VEP =
8+
9+ rem Compare BITO_VERSION to check if it's greater than 3.7
10+ echo %BITO_VERSION% | findstr /r /c:" ^[4-9]\." > nul || echo %BITO_VERSION% | findstr /r /c:" ^3\.[789]" > nul
11+ if not errorlevel 1 set BITO_CMD_VEP = --agent create_code_doc
12+
13+ rem Check if folder name is provided as command line argument
14+ if " %~1 " == " " (
15+ echo Please provide folder name as command line argument
16+ exit /b 1
17+ )
18+
19+ rem Get folder name from command line argument
20+ set " folder = %~f1 " ; Use full path
21+
22+ rem Remove trailing backslash or forward slash if present
23+ if " %folder:~-1 % " == " \" set " folder = %folder:~0 ,-1 % "
24+ if " %folder:~-1 % " == " /" set " folder = %folder:~0 ,-1 % "
25+ echo folder provided= %folder%
26+
27+ rem Check if folder exists
28+ if not exist " %folder% \" (
29+ echo Folder %folder% does not exist
30+ exit /b 1
31+ )
32+
33+ rem Extract the folder name from the cleaned path
34+ for %%i in (" %folder% " ) do set " folder_name = %%~nxi "
35+
36+ rem Create document folder by prepending "doc" to the cleaned folder name
37+ set " doc_folder = doc_%folder_name% "
38+ if not exist " %doc_folder% \" (
39+ echo Creating directory: %doc_folder%
40+ mkdir " %doc_folder% "
41+ )
42+
43+ rem Create documentation for each file in folder and subfolders
44+ for /r " %folder% " %%f in (*.sh, *.py, *.php, *.js) do (
45+ rem Get relative path of file from folder
46+ set " file = %%f "
47+ set " rel_path = !file:%folder% =! "
48+ set " rel_path = !rel_path:~1 ! " ; Remove leading backslash
49+
50+ rem Get directory path of file in document folder
51+ set " doc_dir = %doc_folder% /!rel_path! "
52+ for %%d in (" !doc_dir! " ) do set " doc_dir = %%~dpd "
53+
54+ rem Ensure directory exists
55+ if not exist " !doc_dir! " (
56+ mkdir " !doc_dir! "
57+ )
58+
59+ rem Create documentation using bito and save it in document folder
60+ set " file2write = !doc_dir! %%~nf .md"
61+ echo Creating documentation in: !file2write!
62+ type " %%f " | %BITO_CMD% -p ./prompts/structured_doc.txt %BITO_CMD_VEP% > " !file2write! "
63+ )
64+
65+ echo Documentation created in %doc_folder%
66+ endlocal
0 commit comments