Skip to content

Commit 3c383cd

Browse files
authored
Merge pull request #31 from gitbito/windows-support-create-code-doc
Windows batch file to create documentation
2 parents 324a365 + 3e0abb7 commit 3c383cd

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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

Comments
 (0)