{"id":28715522,"url":"https://github.com/taqsblaze/amen-cli","last_synced_at":"2026-02-06T21:08:37.386Z","repository":{"id":295176807,"uuid":"989372157","full_name":"TaqsBlaze/amen-cli","owner":"TaqsBlaze","description":"AMEN: inspired by laravel installer Python Web Application Scaffolding tool","archived":false,"fork":false,"pushed_at":"2025-05-30T10:50:20.000Z","size":268,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-31T18:23:49.050Z","etag":null,"topics":["cli-app","package","python","python-3","scaffolding","virtualenv"],"latest_commit_sha":null,"homepage":"https://taqsblaze.github.io/amen-cli/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TaqsBlaze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-24T01:02:33.000Z","updated_at":"2025-05-30T10:47:38.000Z","dependencies_parsed_at":"2025-05-24T03:25:13.297Z","dependency_job_id":"32f28891-aceb-44f5-b5c4-c5026dd0db42","html_url":"https://github.com/TaqsBlaze/amen-cli","commit_stats":null,"previous_names":["taqsblaze/amen-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TaqsBlaze/amen-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaqsBlaze%2Famen-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaqsBlaze%2Famen-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaqsBlaze%2Famen-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaqsBlaze%2Famen-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TaqsBlaze","download_url":"https://codeload.github.com/TaqsBlaze/amen-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TaqsBlaze%2Famen-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259910742,"owners_count":22930713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli-app","package","python","python-3","scaffolding","virtualenv"],"created_at":"2025-06-15T02:10:18.989Z","updated_at":"2025-12-28T23:42:59.189Z","avatar_url":"https://github.com/TaqsBlaze.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 AMEN CLI   ![icon](https://raw.githubusercontent.com/TaqsBlaze/amen-cli/refs/heads/main/image/icon.png)\n[![PyPI Version](https://img.shields.io/pypi/v/amen-cli)](https://pypi.org/project/amen-cli/)\n[![License](https://img.shields.io/github/license/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli/blob/main/LICENSE)\n[![Python Versions](https://img.shields.io/pypi/pyversions/amen-cli)](https://pypi.org/project/amen-cli/)\n[![GitHub Stars](https://img.shields.io/github/stars/TaqsBlaze/amen-cli?style=social)](https://github.com/TaqsBlaze/amen-cli)\n[![GitHub Issues](https://img.shields.io/github/issues/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli/issues)\n[![GitHub Forks](https://img.shields.io/github/forks/TaqsBlaze/amen-cli?style=social)](https://github.com/TaqsBlaze/amen-cli)\n[![GitHub Last Commit](https://img.shields.io/github/last-commit/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli/commits/main)\n[![GitHub Contributors](https://img.shields.io/github/contributors/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli/graphs/contributors)\n[![GitHub Code Size](https://img.shields.io/github/languages/code-size/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli)\n[![GitHub Repo Size](https://img.shields.io/github/repo-size/TaqsBlaze/amen-cli)](https://github.com/TaqsBlaze/amen-cli)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/amen-cli)](https://pypi.org/project/amen-cli/)\n\nA laravel installer inspired Python Web Application Scaffolding Tool that helps you create web applications with ease!\n\n## ✨ Features\n\n- 🎯 Interactive project setup wizard\n- 🔧 Multiple framework support:\n  - Flask - Lightweight WSGI framework\n  - FastAPI - Modern, fast API framework\n  - Bottle - Simple micro web framework 🚧\n  - Pyramid - Flexible web framework 🚧\n- 🎨 Project templates for both web apps and APIs\n- 🏗️ **Modular project structure** (see below)\n- 🔄 Automatic virtual environment setup\n- 📦 Dependency management\n- 🏗️ Structured project scaffolding\n- 🧪 Test scaffolding with pytest\n- 🔄 Update checker for the CLI\n- 🚀 Command to run your application\n\n## 🛠️ Installation\n\n### Using pip (All platforms)\n```bash\npip install amen-cli\n```\n\n### Using uv\n\n[uv](https://github.com/astral-sh/uv) is a very fast Python package installer and resolver, written in Rust.\n\nTo install `amen-cli` using uv:\n\n1.  Install uv:\n\n    ```bash\n    pip install uv\n    ```\n\n2.  Install `amen-cli` using uv:\n\n    ```bash\n    uv pip install amen-cli\n    ```\n\nuv utilizes the `pyproject.toml` file for resolving dependencies, ensuring a consistent and reproducible installation.\n\n### Debian/Ubuntu\n```bash\n# Install required dependencies\nsudo apt-get update\nsudo apt-get install python3-pip python3-venv\n\n# Install AMEN CLI\npip3 install amen-cli\n\n# Optional: Install system-wide (requires root)\nsudo pip3 install amen-cli\n```\n\n### Linux Post-Installation\nMake sure the amen command is in your PATH:\n```bash\nexport PATH=\"$HOME/.local/bin:$PATH\"\n```\nAdd this line to your ~/.bashrc or ~/.zshrc for permanent effect.\n\n## 📖 Usage\n\n```bash\n# Create a new project\namen create\n\n# You can also use flags to specify the framework, type, and name:\namen create -f flask -t webapp -n myapp\n\n# Available options:\n# -f, --framework   Framework to use (flask, fastapi, bottle, pyramid)\n# -t, --type        Type of application (webapp, api)\n# -n, --name        Name of the application\n\n# If flags are not provided, the interactive prompts will be used.\n\n# Follow the interactive prompts to:\n# 1. Select a framework\n# 2. Choose application type (webapp/api)\n# 3. Name your project\n\n# Launch the web interface for project management\namen web [options]\n\n# Available web interface options:\n# -p, --port       Port to run the web interface on (default: 3000)\n```\n\n### Additional Commands\n\n```bash\n# Run your application\namen run \u003capp_name\u003e\n\n# Example:\namen run myapp\n\n# Run tests for your application\namen test \u003capp_name\u003e\n\n# Example:\namen test myapp\n\n# Check for updates to the CLI\namen check-update\n\n# Manage project configuration\namen config \u003capp_name\u003e\n\n# Example:\namen config myapp\n\n# Run a security audit on your application\namen audit \u003capp_name\u003e [options]\n# Options:\n# -f, --format     Output format (txt, json, csv, xml; default: txt)\n# -s, --severity   Filter issues by severity (low, medium, high)\n# -o, --output     Save audit report to a specified file\n# Example:\namen audit myapp -s high\n\n# Monitor application status and resource usage in real time\namen monitor \u003capp_name\u003e [options]\n# Options:\n# -p, --port       Port to monitor\n# -r, --refresh    Refresh rate in seconds (accepts decimal values; default: 0.1)\n# --web            Run a web based monitor\n# Example:\namen monitor myapp --port 5000 --refresh 0.5\namen monitor myapp --port 5000 -refresh 0.5 --web #Web based monitor\n```\n\n## 🌟 Project Structure\n\nWhen you create a project, AMEN now generates a **modular structure**:\n\n```\nyour-app/\n├── venv/                   # Virtual environment\n├── your-app/               # Main application package\n│   ├── api/                # API endpoints (endpoints.py)\n│   ├── auth/               # Authentication (token.py, etc.)\n│   ├── models/             # Models module\n│   ├── static/             # Static files (CSS, JS, images)\n│   │   ├── uploads/\n│   │   ├── css/\n│   │   └── js/\n│   ├── templates/          # HTML templates (if webapp)\n│   └── app.py / main.py    # Main application file (Flask: app.py, FastAPI: main.py)\n├── tests/                  # Test files\n├── docs/                   # Documentation\n├── requirements.txt        # Python dependencies\n├── .env                    # Environment variables (local)\n├── .env.example            # Environment variables template\n├── .gitignore              # Git ignore rules\n├── run.py                  # Application runner\n└── README.md               # This file\n```\n\n- **Flask**: Uses `app.py` and registers a blueprint from `api/endpoints.py`. Token authentication is in `auth/token.py`.\n- **FastAPI**: Uses `main.py` and includes a router from `api/endpoints.py`. Token authentication is in `auth/token.py`.\n- **Webapp**: Includes HTML templates and static files. FastAPI mounts static and template directories.\n- **API**: Generates only API endpoints and disables template/static mounting.\n\n## 🎯 Supported Frameworks\n\n| Framework | Description | Default Port | Status |\n|-----------|-------------|--------------|--------|\n| Flask     | Lightweight WSGI web framework | 5000 | ✅ |\n| FastAPI   | Modern, fast web framework      | 8000 | ✅ |\n| Django    | High-level Python web framework | 8000 | ❌ |\n| Bottle    | Fast, simple micro framework    | 8080 | 🚧 |\n| Pyramid   | Flexible web framework          | 6543 | 🚧 |\n\n## Work in Progress\nCurrently implementing support for additional web frameworks:\n\n- **Bottle**: Integration in development\n- **Pyramid**: Initial implementation phase\n\nThese frameworks will enable:\n- Route mapping and handling\n- Request/response processing\n- Middleware integration\n- Template rendering support\n\nCheck back for updates or follow the project's issues for implementation progress. Contributions are welcome!\n\n\u003e Note: For now, please use our stable implementations for Flask or FastAPI.\n\n## 🚗 Quick Start\n\n```bash\n# Install AMEN CLI\npip install amen-cli\n\n# Create a new project\namen create\n\n# Follow the interactive prompts\n\n# Navigate to your project\ncd your-project-name\n\n# Activate virtual environment\nsource venv/bin/activate  # Linux/Mac\nvenv\\Scripts\\activate     # Windows\n\n# Run your application\npython run.py\nOr\n#Before you cd into your project you can run the following \namen run \u003cappname\u003e\n```\n\n## 🔧 Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/taqsblaze/amen-cli.git\n\n# Install for development and testing\ncd amen-cli\npip install -e .\npip install pytest pytest-cov\n\n# Run tests\npytest\n\n# Run tests with coverage\npytest --cov\n```\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how:\n\n1. Fork the repository\n2. Create your feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes\n4. Push to the branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👥 Contact \u0026 Support\n\n- 🌐 [GitHub Repository](https://github.com/taqsblaze/amen-cli)\n- 🐛 [Issue Tracker](https://github.com/taqsblaze/amen-cli/issues)\n- 📧 [Send Email](mailto:tanakah30@gmail.com)\n\n## ⭐ Credits\n\nCreated by [Tanaka Chinengundu](https://www.linkedin.com/in/taqsblaze)  \nInspired by Laravel's elegant development experience\n\n---\n\nMade with ❤️ by Tanaka Chinengundu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaqsblaze%2Famen-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaqsblaze%2Famen-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaqsblaze%2Famen-cli/lists"}