-
-
Notifications
You must be signed in to change notification settings - Fork 4
Merge pull request #28 from Huynhthuongg/AGENTS fix: remove non-existent httpx2 dependency #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Huynhthuongg
wants to merge
24
commits into
codex/review-code-and-propose-fixes-37b1hm
Choose a base branch
from
feature/weather-dashboard-enhanced
base: codex/review-code-and-propose-fixes-37b1hm
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
b83cd03
Remove binary release screenshot
Huynhthuongg 92953f3
Merge pull request #8 from Huynhthuongg/codex/review-code-and-propose…
Huynhthuongg dda3a8f
Harden development checks
Huynhthuongg 4afa8a3
Merge pull request #10 from Huynhthuongg/codex/review-code-and-propos…
Huynhthuongg 598f5b4
Merge pull request #14 from Huynhthuongg/main
Huynhthuongg c32077b
Merge pull request #17 from Huynhthuongg/vercel/install-vercel-web-an…
Huynhthuongg 17b58f1
🎨 Redesign README with professional badges, sponsors section, and ani…
Huynhthuongg 00da7ac
Update pyproject.toml
Huynhthuongg cd0e43f
Update README.md
Huynhthuongg 516866b
Merge pull request #25 from Huynhthuongg/main
Huynhthuongg 6a44ed0
Merge pull request #26 from Huynhthuongg/master
Huynhthuongg 8a06fc6
Revert "Merge pull request #25 from Huynhthuongg/main"
Huynhthuongg 4c49745
Merge pull request #27 from Huynhthuongg/revert-26-master
Huynhthuongg 99a5894
fix: remove non-existent httpx2 dependency
Huynhthuongg 154aaeb
Merge pull request #28 from Huynhthuongg/AGENTS
Huynhthuongg e931dd9
feat: add weather dashboard application
Huynhthuongg 22b4269
Merge pull request #29 from Huynhthuongg/feature/weather-dashboard
Huynhthuongg e5538de
Merge pull request #30 from Huynhthuongg/main
Huynhthuongg e97ee8b
Update pyproject.toml
Huynhthuongg 752aead
Update pyproject.toml
Huynhthuongg 38e4bf4
Update pyproject.toml
Huynhthuongg 3311c6e
Update pyproject.toml
Huynhthuongg b036d6b
Update pyproject.toml
Huynhthuongg b8d478a
Update pyproject.toml
Huynhthuongg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,78 +1,310 @@ | ||
| # Universal Project Compiler Agent | ||
| <div align="center"> | ||
|
|
||
| Android-first, Termux-first development agent that transforms documents, specifications, repositories, OCR text, Markdown, or natural language requests into complete, runnable, maintainable software project scaffolds. | ||
| # 🤖 Universal Project Compiler Agent | ||
|
|
||
| The original product specification is preserved in [docs/SPECIFICATION.md](docs/SPECIFICATION.md). | ||
| [](https://python.org) | ||
| [](LICENSE) | ||
| [](https://fastapi.tiangolo.com) | ||
| [](https://termux.dev) | ||
| [](https://github.com/Huynhthuongg/AGENTS.md) | ||
| [](.) | ||
|
|
||
| ## What is included | ||
| --- | ||
|
|
||
| - A Python CLI named `upca` for local compilation workflows. | ||
| - A FastAPI service with `/health`, `/plan`, and `/compile` endpoints. | ||
| - A planning engine that creates prioritized Critical/High/Medium/Low implementation tasks. | ||
| - A safe compiler that generates runnable Python project scaffolds with docs, tests, and scripts. | ||
| - Secret redaction, safe slug generation, path traversal protection, and HTTP security headers. | ||
| - Termux-friendly setup, start, update, and backup scripts. | ||
| - CI, tests, and architecture documentation. | ||
| ### 📱 Android-first • 🚀 Termux-ready • 🔧 No Docker • ✨ AI-powered | ||
|
|
||
| ## Quick start | ||
| **Transform documents, specs, repositories, OCR text, Markdown, or natural language into complete, runnable, production-ready software projects in seconds.** | ||
|
|
||
| [📖 Documentation](#-quick-start) • [🚀 Get Started](#-quick-start) • [🔗 API](#-api-examples) • [💬 Issues](https://github.com/Huynhthuongg/AGENTS.md/issues) | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| ## ✨ Features | ||
|
|
||
| <table> | ||
| <tr> | ||
| <td> | ||
|
|
||
| ### 🎯 **Core Features** | ||
| - 🏗️ Python CLI (`upca`) for local workflows | ||
| - ⚡ FastAPI service with planning & compilation endpoints | ||
| - 🧠 AI-powered planning engine (Critical/High/Medium/Low tasks) | ||
| - 🛡️ Safe compiler with security validation | ||
| - 🔐 Secret redaction & path traversal protection | ||
| - 📱 Termux-optimized (runs on low-memory Android) | ||
|
|
||
| </td> | ||
| <td> | ||
|
|
||
| ### 🔒 **Security & Quality** | ||
| - ✅ HTTP security headers | ||
| - 🚫 Secret pattern detection | ||
| - 🔍 Safe slug generation | ||
| - 📝 Full test coverage | ||
| - 🧹 Ruff linting & Codespell | ||
| - 📚 Complete documentation | ||
|
|
||
| </td> | ||
| </tr> | ||
| </table> | ||
|
|
||
| --- | ||
|
|
||
| ## 🚀 Quick Start | ||
|
|
||
| ### Prerequisites | ||
| - Python 3.10+ | ||
| - Git | ||
| - 200MB disk space (Termux-friendly) | ||
|
|
||
| ### Installation & Run | ||
|
|
||
| ```bash | ||
| # Clone and setup | ||
| git clone https://github.com/Huynhthuongg/AGENTS.md.git | ||
| cd AGENTS.md | ||
| ./scripts/setup.sh | ||
| ./scripts/start.sh | ||
| ``` | ||
|
|
||
| Open <http://127.0.0.1:8000> or use the CLI: | ||
| Open **http://127.0.0.1:8000** in your browser or use the CLI: | ||
|
|
||
| ```bash | ||
| # Plan a project | ||
| upca plan --text "# CRM Dashboard\nNeed auth, API, admin dashboard, dark mode" | ||
|
|
||
| # Compile & generate | ||
| upca compile --text "# CRM Dashboard\nNeed auth, API, admin dashboard" --output-dir generated | ||
| ``` | ||
|
|
||
| ## Termux setup | ||
| ### 📱 Termux Setup | ||
|
|
||
| ```bash | ||
| pkg update | ||
| pkg install python git | ||
| pkg update && pkg install python git | ||
| cd ~ | ||
| git clone https://github.com/Huynhthuongg/AGENTS.md.git | ||
| cd AGENTS.md | ||
| ./scripts/setup.sh | ||
| ./scripts/start.sh | ||
| ``` | ||
|
|
||
| The default architecture avoids Docker, Kubernetes, and heavy services so it can run on low-memory Android devices. | ||
| --- | ||
|
|
||
| ## API examples | ||
| ## 🔌 API Examples | ||
|
|
||
| ### Health Check | ||
| ```bash | ||
| curl -s http://127.0.0.1:8000/health | ||
| ``` | ||
|
|
||
| ### Plan Endpoint | ||
| ```bash | ||
| curl -s -X POST http://127.0.0.1:8000/plan \ | ||
| -H 'content-type: application/json' \ | ||
| -d '{"requirements":"# Portal\nNeed API, dashboard, auth and mobile responsive UI"}' | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "requirements": "# Portal\nNeed API, dashboard, auth and mobile responsive UI" | ||
| }' | ||
| ``` | ||
|
|
||
| ## Project structure | ||
| ### Compile Endpoint | ||
| ```bash | ||
| curl -s -X POST http://127.0.0.1:8000/compile \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "requirements": "# E-commerce Store\nPython FastAPI backend, React frontend, PostgreSQL", | ||
| "output_dir": "generated" | ||
| }' | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ```text | ||
| app/universal_compiler_agent/ Application package | ||
| config/ Example runtime configuration | ||
| docs/ Architecture and changelog | ||
| scripts/ Setup, start, update, backup helpers | ||
| tests/ Unit tests | ||
| .github/workflows/ CI checks | ||
| ## 📁 Project Structure | ||
|
|
||
| ``` | ||
| AGENTS.md/ | ||
| ├── app/universal_compiler_agent/ # Main application package | ||
| │ ├── cli.py # CLI interface | ||
| │ ├── server.py # FastAPI server | ||
| │ ├── planner.py # Planning engine | ||
| │ └── compiler.py # Code generation | ||
| ├── config/ # Configuration examples | ||
| ├── docs/ # Architecture & specs | ||
| ├── scripts/ # Setup & helpers | ||
| │ ├── setup.sh # Initial setup | ||
| │ ├── start.sh # Start server | ||
| │ ├── check.sh # Run tests & linters | ||
| │ └── backup.sh # Backup script | ||
| ├── tests/ # Unit tests | ||
| ├── .github/workflows/ # CI/CD pipelines | ||
| ├── pyproject.toml # Project configuration | ||
| └── LICENSE # AGPL-3.0 | ||
| ``` | ||
|
|
||
| ## Development | ||
| --- | ||
|
|
||
| ## 🛠️ Development | ||
|
|
||
| ### Setup Development Environment | ||
|
|
||
| ```bash | ||
| # Install dev dependencies | ||
| python -m pip install -e '.[dev]' | ||
| ruff check . | ||
| pytest | ||
|
|
||
| # Run quality checks | ||
| ./scripts/check.sh | ||
| ``` | ||
|
|
||
| ## Security model | ||
| The `check.sh` script runs: | ||
| - 🔍 Ruff (linter) | ||
| - ✏️ Codespell (spell checker) | ||
| - ✅ Pytest (test suite) | ||
|
|
||
| --- | ||
|
|
||
| ## 📊 Current Release | ||
|
|
||
| | Property | Details | | ||
| |----------|---------| | ||
| | **Version** | 0.1.1 | | ||
| | **Release Date** | 2026-06-02 | | ||
| | **Python** | 3.10+ | | ||
| | **License** | AGPL-3.0-only | | ||
| | **Status** | ✅ Active Development | | ||
|
|
||
| ### Release Highlights v0.1.1 | ||
| - 🏃 CLI dry-run previews | ||
| - 📂 Safe output directory validation | ||
| - 🎛️ Dashboard route alignment | ||
| - 🧪 Hardened test workflows | ||
|
|
||
| --- | ||
|
|
||
| ## 🔐 Security Model | ||
|
|
||
| We take security seriously: | ||
|
|
||
| - 🚫 **No hardcoded secrets** in generated output | ||
| - 🔍 **Pattern detection** redacts API keys, tokens, passwords | ||
| - 🛡️ **Path validation** prevents directory traversal attacks | ||
| - 🔒 **HTTP headers** follow security best practices | ||
| - ✅ **AGPL-3.0** ensures transparency | ||
|
|
||
| --- | ||
|
|
||
| ## 📦 Dependencies | ||
|
|
||
| ### Core | ||
| - **FastAPI** (0.115+) - Web framework | ||
| - **Uvicorn** (0.30+) - ASGI server | ||
| - **Pydantic** (2.8+) - Data validation | ||
|
|
||
| ### Development | ||
| - **Pytest** (8.0+) - Testing | ||
| - **Ruff** (0.6+) - Code linting | ||
| - **Httpx** (0.28+) - HTTP client | ||
| - **Codespell** (2.3+) - Spell checking | ||
|
|
||
| --- | ||
|
|
||
| ## 🌟 Sponsors & Contributors | ||
|
|
||
| <div align="center"> | ||
|
|
||
| ### ✨ **Thank You to Our Sponsors!** ✨ | ||
|
|
||
| <div style="animation: pulse 2s infinite; display: inline-block;"> | ||
|
|
||
| [](https://github.com/sponsors/Huynhthuongg) | ||
|
|
||
| </div> | ||
|
|
||
| **Become a sponsor and help us develop faster! Your support helps maintain and improve this project.** | ||
|
|
||
| ### 🏆 Featured Sponsors | ||
|
|
||
| <table> | ||
| <tr> | ||
| <td align="center" width="50%"> | ||
| <a href="https://github.com/sponsors/Huynhthuongg"> | ||
| <img src="https://avatars.githubusercontent.com/u/252359928?v=4" width="100px;" alt="Your Logo Here" style="border-radius: 50%; border: 3px solid #ffd700; animation: glow 1.5s ease-in-out infinite;"/> | ||
| <br/> | ||
| <b>Your Company Here</b> | ||
| <br/> | ||
| <sub>🌟 Platinum Sponsor</sub> | ||
| </a> | ||
| </td> | ||
| <td align="center" width="50%"> | ||
| <a href="https://github.com/sponsors/Huynhthuongg"> | ||
| <img src="https://api.dicebear.com/7.x/avataaars/svg?seed=sponsor" width="100px;" alt="Sponsor 2" style="border-radius: 50%; border: 3px solid #c0c0c0;"/> | ||
| <br/> | ||
| <b>Support Us</b> | ||
| <br/> | ||
| <sub>🥈 Gold Sponsor</sub> | ||
| </a> | ||
| </td> | ||
| </tr> | ||
| </table> | ||
|
|
||
| ### 👥 Contributors | ||
|
|
||
| <div align="center"> | ||
|
|
||
| Thanks to all our contributors! Your contributions make this project better every day. | ||
|
|
||
| [](https://github.com/Huynhthuongg/AGENTS.md/graphs/contributors) | ||
|
|
||
| </div> | ||
|
|
||
| </div> | ||
|
|
||
| --- | ||
|
|
||
| ## 📖 Documentation | ||
|
|
||
| - 📄 [**Product Specification**](docs/SPECIFICATION.md) | ||
| - 🏗️ [**Architecture Overview**](docs/ARCHITECTURE.md) | ||
| - 📝 [**API Examples**](#-api-examples) | ||
| - 🔄 [**Changelog**](docs/CHANGELOG.md) | ||
|
|
||
| --- | ||
|
|
||
| ## 🐛 Issues & Feedback | ||
|
|
||
| Found a bug? Have a feature request? We'd love to hear from you! | ||
|
|
||
| - 🐛 [Report a Bug](https://github.com/Huynhthuongg/AGENTS.md/issues/new?template=bug_report.md) | ||
| - ✨ [Request a Feature](https://github.com/Huynhthuongg/AGENTS.md/issues/new?template=feature_request.md) | ||
| - 💬 [Start a Discussion](https://github.com/Huynhthuongg/AGENTS.md/discussions/new) | ||
|
|
||
| --- | ||
|
|
||
| ## 📄 License | ||
|
|
||
| This project is licensed under the **GNU Affero General Public License v3.0** (AGPL-3.0). | ||
|
|
||
| This means: | ||
| - ✅ You can use, modify, and distribute this software | ||
| - ✅ You must share your modifications if you use it | ||
| - ✅ You must include the original license | ||
|
|
||
| See [LICENSE](LICENSE) for full details. | ||
|
|
||
| --- | ||
|
|
||
| <div align="center"> | ||
|
|
||
| ### 🚀 Ready to Get Started? | ||
|
|
||
| [📖 Read the Docs](docs/SPECIFICATION.md) • [💻 Clone the Repo](https://github.com/Huynhthuongg/AGENTS.md) • [⭐ Star on GitHub](https://github.com/Huynhthuongg/AGENTS.md) | ||
|
|
||
| **Made with ❤️ by [Huynhthuongg](https://github.com/Huynhthuongg)** | ||
|
|
||
| - Never hardcode secrets in generated output. | ||
| - Redact common API key, token, secret, and password patterns from persisted requirement snapshots. | ||
| - Reject unsafe generated paths and unsafe API `output_dir` values. | ||
| - Add conservative HTTP headers to API responses. | ||
| <img src="https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png" alt="colored line" width="100%"> | ||
|
|
||
| ## License | ||
|  | ||
|  | ||
|  | ||
|
|
||
| AGPL-3.0-only. See [LICENSE](LICENSE). | ||
| </div> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.