Structura is a Terminal User Interface (TUI) based Go application that automatically generates Markdown documentation for any project directory by recursively analyzing each file using the DeepSeek AI API.
- Intuitive terminal interface built with BubbleTea
- Recursively traverses project directories
- Generates comprehensive Markdown documentation for each file
- Uses DeepSeek AI API to create intelligent code documentation
- Progress tracking with visual indicators
- Customizable file/directory ignore patterns
Ensure you have Go installed (version 1.16 or higher), then run:
go install github.com/Abiggj/structura@latestOr clone and build from source:
git clone https://github.com/Abiggj/structura.git
cd structura
go build -o structura-
Run the application:
./structura
-
Enter your DeepSeek API key when prompted.
-
Specify the input directory that contains the project you want to document.
-
Specify the output directory where the documentation will be saved.
-
Wait for the processing to complete. The application will show a progress bar and status updates.
-
Press 'q' to quit once the process is complete.
You can customize the ignore patterns for files and directories by modifying the filehandler/filehandler.go file:
func NewFileHandler() *FileHandler {
return &FileHandler{
IgnoreDirs: []string{
".git", "node_modules", "vendor", "dist", "build",
".idea", ".vscode", ".github", ".cache",
},
IgnoreFiles: []string{
".DS_Store", "*.lock", "*.log", "*.wasm", "*.min.js",
"*.min.css", "*.map", "*.ico", "*.svg", "*.png", "*.jpg",
"*.jpeg", "*.gif", "*.webp", "*.ttf", "*.woff", "*.woff2",
},
}
}- BubbleTea - Terminal UI framework
- Lipgloss - Style definitions for terminal applications
- Bubbles - UI components for BubbleTea
- Resty - HTTP client for Go
MIT
Contributions are welcome! Please feel free to submit a Pull Request.