Multi-language code analyzer and auto-fixer with Docker sandbox testing support.
- ⚡ Real-time analysis - Błędy widoczne podczas pisania
- 🔧 Auto-fix - Automatyczne naprawianie typowych błędów
- 📜 Historia zmian - Pełna historia wykrytych błędów i poprawek
- 💾 Download - Pobieranie poprawionego skryptu
- 🐳 Docker sandbox - Testowanie poprawek w izolowanym środowisku
- 🧪 Multi-language - Wsparcie dla Bash, Python, Go, Node.js, Dockerfile i innych
# Zbuduj i uruchom
docker-compose up --build
# Lub bezpośrednio z Docker
docker build -t pactown-live-debug .
docker run -p 8080:8080 pactfix-live-debugOtwórz http://localhost:8080 w przeglądarce.
# Wymagane: Python 3.10+ i ShellCheck
apt-get install shellcheck # Ubuntu/Debian
brew install shellcheck # macOS
# Uruchom serwer
python3 server.py- Wklej kod - W lewym panelu wklej swój skrypt Bash
- Poczekaj na analizę - Błędy są wykrywane automatycznie
- Zobacz poprawki - Prawy panel pokazuje poprawiony kod z komentarzami
- Pobierz - Kliknij "Pobierz" aby zapisać poprawiony skrypt
#!/usr/bin/bash
OUTPUT=/home/student/output-
for HOST in server{a,b}; do
echo "$(ssh student@${HOST} hostname -f") >> ${OUTPUT}${HOST}
done#!/usr/bin/bash
OUTPUT=/home/student/output-
for HOST in server{a,b}; do
echo "$(ssh student@${HOST} hostname -f)" >> ${OUTPUT}${HOST} # ✅ NAPRAWIONO: Poprawiono pozycję cudzysłowu
done| Kod | Opis |
|---|---|
| SC1073 | Błędy składni - brakujące cudzysłowy, nawiasy |
| SC2086 | Niecytowane zmienne |
| SC2006 | Użycie `` zamiast $() |
| SC2164 | cd bez obsługi błędów |
| SC2162 | read bez flagi -r |
Analizuje kod Bash i zwraca wyniki.
Request:
{
"code": "#!/bin/bash\necho $VAR"
}Response:
{
"originalCode": "#!/bin/bash\necho $VAR",
"fixedCode": "#!/bin/bash\necho \"$VAR\"",
"errors": [],
"warnings": [
{
"line": 2,
"column": 6,
"code": "SC2086",
"message": "Zmienna powinna być w cudzysłowach"
}
],
"fixes": [
{
"line": 2,
"message": "Dodano cudzysłowy wokół zmiennej",
"before": "echo $VAR",
"after": "echo \"$VAR\""
}
]
}- Frontend: Vanilla JS, CSS Grid, CSS Variables
- Backend: Python 3.12, http.server
- Analysis: ShellCheck (z fallback do wbudowanej analizy)
- Container: Docker, Alpine-based
Projekt zawiera również narzędzie CLI pactfix do analizy i automatycznego poprawiania kodu w wielu językach.
- Project-wide scanning (
--path) - Analiza całego projektu - Docker sandbox (
--sandbox) - Testowanie poprawek w kontenerze - Automated testing (
--test) - Uruchamianie testów w sandboxie - Multi-language support - Bash, Python, Go, Node.js, Dockerfile, i inne
# Analiza i poprawa całego projektu
pactfix --path ./my-project
# Uruchomienie w Docker sandboxie
pactfix --path ./my-project --sandbox
# Sandbox z testami
pactfix --path ./my-project --sandbox --test
# Wstawianie komentarzy nad poprawkami
pactfix --path ./my-project --commentProjekt zawiera zestaw projektów testowych w pactfix-py/test-projects/:
# Uruchomienie testów sandboxów
make test-sandbox
# Uruchomienie z testami w kontenerach
make test-sandbox-testsKażdy projekt testowy ma _fixtures/faulty/ z baseline'owym kodem, co zapewnia deterministyczne testowanie.
pactown-debug/
├── app/
│ └── index.html # Frontend application
├── server.py # Python backend server
├── pactfix-py/ # Pactfix CLI tool
│ ├── pactfix/ # Main package
│ ├── test-projects/ # Test projects with fixtures
│ └── scripts/ # Test scripts
├── Dockerfile # Container definition
├── docker-compose.yml # Docker Compose config
├── Makefile # Build and test targets
└── README.md # This file
- Wsparcie dla Python/Node.js/Go/Dockerfile
- AI-powered explanations (llama.cpp)
- Collaborative debugging
- VSCode extension
- Więcej reguł automatycznych poprawek
- Fork the repo
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open Pull Request
Apache 2.0 License - Softreck © 2026
Część projektu Pactown - Platforma edukacyjna dla juniorów