Add README.md contents
This commit is contained in:
91
README.md
91
README.md
@@ -0,0 +1,91 @@
|
||||
# Bash Argument Parser Generator
|
||||
|
||||
A self-contained web application for interactively building bash argument parsing code. Zero external dependencies - single binary deployment.
|
||||
|
||||
## Features
|
||||
|
||||
- **Zero Dependencies**: Single Go binary with embedded assets
|
||||
- **Real-time Help Preview**: See generated help output as you type
|
||||
- **Clean Separation**: Frontend assets organized in separate directories
|
||||
- **Auto-expanding Rows**: New input rows appear automatically
|
||||
- **Dark Terminal Theme**: Professional terminal-style interface
|
||||
- **Copy to Clipboard**: One-click script copying
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
argparse-builder/
|
||||
├── main.go # Go server with embedded FS
|
||||
├── static/
|
||||
│ ├── css/
|
||||
│ │ └── style.css # Styling
|
||||
│ └── js/
|
||||
│ └── app.js # Frontend logic
|
||||
└── templates/
|
||||
└── index.html # HTML template
|
||||
```
|
||||
|
||||
All files are embedded using `//go:embed` directive, resulting in a single binary.
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
go build -o argparse-builder
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
```bash
|
||||
./argparse-builder
|
||||
```
|
||||
|
||||
Server starts on port 8080. Open http://localhost:8080 in your browser.
|
||||
Demo available at: https://pages.git.pynezz.dev/argparse-builder
|
||||
|
||||
## Usage
|
||||
|
||||
1. **Add Custom Header** (optional): Set a greeting or description
|
||||
2. **Define Arguments**:
|
||||
- Parameters: `-v --verbose` (flag syntax)
|
||||
- Variable Name: `verbose` (internal variable)
|
||||
- Help Text: Description shown in help output
|
||||
3. **Real-time Preview**: Help output updates as you type
|
||||
4. **Generate**: Click "Generate BASH" to create the script
|
||||
5. **Copy**: Use the copy button to get the generated code
|
||||
|
||||
## Example Output
|
||||
|
||||
For inputs:
|
||||
|
||||
- Header: "My Script v1.0"
|
||||
- Arguments: `-v --verbose`, `verbose`, "Enable verbose output"
|
||||
|
||||
Generates a complete bash script with:
|
||||
|
||||
- Usage function with formatted help
|
||||
- Argument parsing with case statements
|
||||
- Variable initialization
|
||||
- Unknown option handling
|
||||
- `-h/--help` support
|
||||
|
||||
## Technical Details
|
||||
|
||||
- **Language**: Go 1.21+
|
||||
- **Embedding**: `embed.FS` for asset bundling
|
||||
- **Binary Size**: ~9MB (includes runtime and all assets)
|
||||
- **HTTP Server**: Standard library net/http
|
||||
- **Frontend**: Vanilla JavaScript (no frameworks)
|
||||
|
||||
## Performance
|
||||
|
||||
- Instant startup (no compilation)
|
||||
- Low memory footprint
|
||||
- Efficient static file serving from memory
|
||||
- No external network calls
|
||||
|
||||
## Security Considerations
|
||||
|
||||
- Input sanitization on server side
|
||||
- No shell execution
|
||||
- Template-based HTML generation
|
||||
- CORS headers not set (localhost only by default)
|
||||
|
Reference in New Issue
Block a user