{"id":23514669,"url":"https://github.com/symfony-x/symfony-x","last_synced_at":"2025-04-19T14:40:09.125Z","repository":{"id":263519024,"uuid":"890099781","full_name":"symfony-x/symfony-x","owner":"symfony-x","description":"Super simple - no database, no external services - just a basic Symfony LAST stack config to do anything with!","archived":false,"fork":false,"pushed_at":"2024-12-27T05:09:39.000Z","size":7068,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T08:43:43.337Z","etag":null,"topics":["agentic","ai","asset-mapper","beginner","docker","flowbite","franken-php","last-stack","live-components","mvp","php","stimulus","symfony","tailwind","turbo","website"],"latest_commit_sha":null,"homepage":"","language":"Twig","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"xormania/symfony-x","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/symfony-x.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}},"created_at":"2024-11-18T01:32:36.000Z","updated_at":"2024-12-27T05:09:43.000Z","dependencies_parsed_at":"2024-12-18T23:23:00.387Z","dependency_job_id":"7ad2d0e1-6cff-461c-8a45-aaeb557c786a","html_url":"https://github.com/symfony-x/symfony-x","commit_stats":null,"previous_names":["symfony-x/symfony-x"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symfony-x%2Fsymfony-x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symfony-x%2Fsymfony-x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symfony-x%2Fsymfony-x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/symfony-x%2Fsymfony-x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/symfony-x","download_url":"https://codeload.github.com/symfony-x/symfony-x/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249716225,"owners_count":21315062,"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":["agentic","ai","asset-mapper","beginner","docker","flowbite","franken-php","last-stack","live-components","mvp","php","stimulus","symfony","tailwind","turbo","website"],"created_at":"2024-12-25T14:09:44.374Z","updated_at":"2025-04-19T14:40:09.103Z","avatar_url":"https://github.com/symfony-x.png","language":"Twig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Symfony-X\n\nSymfony-X is a Symfony [LAST Stack](https://symfonycasts.com/screencast/last-stack/last-stack) rapid project development and deployment template for the purpose of creating a minimal viable product in minimal viable time.\n\n## Installation\n\n1. **Clone the Repository**\n\n   ```bash\n   git clone https://github.com/symfony-x/symfony-x.git your-project-name\n   cd your-project-name\n   ```\n\n2. **Install Composer Libraries**\n\n   ```bash\n   composer install\n   ```\n\n3. **Initial Setup for Tailwind**\n\n   SUDO sucks, but i'm in a hurry - any suggestions?\n\n      ```bash\n      sudo php bin/console tailwind:build\n      ```\n    \n4. **Build and Start Docker Containers**\n\n   ```bash\n   docker-compose build --no-cache\n   docker-compose up -d\n   ```\n\n## Requirements\n\n- **PHP**: [PHP](symfony-x/documentation/requirements/php.md)\n- **Composer**: [Composer](symfony-x/documentation/requirements/composer.md) \n- **Git**: You got to [git](symfony-x/documentation/requirements/git.md) it to get it. \n- **Docker \u0026 Docker Compose**: [Docker](symfony-x/documentation/requirements/docker.md)\n\n\n## Documentation\n\n   [Click Here](symfony-x/documentation/symfony-x.md) for the Symfony-X documentation.\n\n## Support [Ryan Weaver](https://github.com/weaverryan)\n\nRyan has Glioblastoma (brain cancer - [Go Fund Me](http://gofund.me/f8e28d5f).) He's a fighter, writer for http://SymfonyCasts.com \u0026 proud Symfony core member.\n\nWhen I'm reading SymfonyDocs, it's Ryan's voice I hear in my mind. Gives me confidence and focus. \n\nRyan, you are in my prayers.  \n\n\n## About\n\nThe goal is to streamline the creation of a rapid Symfony software project development environment. \n\nSymfony allows for fast development when done right. The problem, in my view, is setting up a modern Symfony development environment.\n\nWe live in the age of docker. The age of AI. \n\nI've seen the limitations of Large Language Models (LLMs) when used to assist with Symfony development...\n\n- **Too many options**: Symfony is highly configurable, almost to a fault. Without the model understanding the specific configuration setup of your project, and with so many implementation options available, responses may be sub-optimal, create new conflicts, or worse—hallucinate (e.g., confusing techniques from different implementation options like mixing up Asset with AssetMapper) \n\n- **Too many versions**: Symfony has been around for a long time and has evolved significantly. Unfortunately, this means outdated and conflicting information is often used to train LLMs, leading to confusion (e.g., mixing up features across versions) and outdated techniques (e.g., using annotations instead of attributes) being suggested in unpredictable ways. Additionally, information on the latest Symfony version can be overshadowed by prior versions when training LLMs, leading to subtle hallucinations. \n\n- **Not current**: This is my largest overall frustration since i started using ChatGPT almost 2 years ago: The Cutoff Date!  Some parts of the stack are relatively new and evolve rapidly. Combined with the sheer number of prior Symfony versions over-represented in the model's training; you're in No Man's Land. While Retrieval-Augmented Generation (RAG) and AI Search can help, they need to be tailored for your specific project. Fine-tuning models with current, stack-specific information (versions of PHP, Symfony, packages, libraries, API, CLI, etc.) combined with RAG-Graph seems like the right direction. \n\nCheck out this [video](https://www.youtube.com/watch?v=5YZ8mMyHJHg) to understand some challenges in applying AI effectively. \n\nI have some ideas to help. A web app to handle RAG with your project's codebase. Use with your API calls - crafting every interaction with knowledge of your code and tailored for Symfony-X stack.\n\nI'm also going to write some agentic systems to automate various tasks vital to rapid development (code creation, updates, docs, tests, configuration). These areas of improvement offer maximum utility for minimal cost. LLMs are good at things that are simple and explainable, especially when provided great context (RAG).\n\nThen I'm going to use Docker Compose to create a ready-to-go integrated development environment with all the services preconfigured for the Symfony-X system (db, git, dev tools like phpMyAdmin, etc.).\n\nUse your imagination: Ollama, Open Web UI, MongoDB, n8n, Gitea, Local AWS Dev (DynamoDB, S3, Cognito, ElasticSearch, etc.).\n\nWhile that's all nice, I'm lazier still... it HAS to be ridiculously easy to get a minimal viable product into production. I want to be able to describe what I want and then have the system interactively interrogate me as the product begins to take shape (like diffusion). The goal is up and running ASAP. I'll set up a speed run leaderboard. So there should be some basic example [workflows](https://symfony.com/doc/current/components/workflow.html) to help guide development. Combined with [AI](https://github.com/theodo-group/LLPhant), this should be able to automate A LOT. \n\n\n## Symfony-X, Symfony-X2, and Symfony-XXX\n\nPlans are for three github repos:\n\n- **Symfony-X** Super Simple Basic Web App, a simple template containing basic Symfony Web App and development features such as Dockerfile. \n- **Symfony-X2** Forked from Symfony-X, adds the development and project environment, deployments, Docker (Databases, Docker Compose, AI, Local LLM, Agentic Workflows, etc., etc.). Useful for creating / deploying micro-services and websites. Introduces cloud-stack features.\n- **Symfony-XXX** Forked from Symfony-X2, adds advanced web app features such as Users, OAuth, Dashboards, API libraries, DevOps. \n\nChoose which to use based on your needs.\n\nUltimately these will probably be dev repos. I'd like to have a Symfony new project skeleton, maybe a bundle (with composer package) for even easier integration and versioning. Will look into.\n\n## Stack\n\nThe Symfony-X STACK uses...\n\n- [Symfony Docker](https://github.com/dunglas/symfony-docker)\n- [Franken-PHP](https://frankenphp.dev/) (on [Caddy](https://caddyserver.com/))\n- [Live Components](https://symfony.com/bundles/ux-live-component/current/index.html)\n- [Asset Mapper](https://symfony.com/doc/current/frontend/asset_mapper.html) (NO Node.js, NO Webpack)\n- [Stimulus](https://stimulus.hotwired.dev/)\n- [Turbo](https://turbo.hotwired.dev/)\n- [Tailwind](https://tailwindcss.com/)\n- [Flowbite](https://flowbite.com/) \n\nThis includes the fundamentals of the LAST Stack plus additional elements that enable rapid development.\n[Click Here](symfony-x/documentation/stack.md) for more info on the Symfony-X stack.\n\n## Deployments\n\nSymfony-X deployments can be configured (local dev, local production, standalone binary executable, Amazon Web Services).\n\n## AI\n\nData is paramount.\n\nThe more project development data you can log, scrub, and synthesize; the more insights you can gain from it using AI.\n\nFor example, create a temp local git branch and make available (via RAG Agent) to developer API or local LLM. Autocomit on save, and track all changes with references to your chat history (via comments in code examples with GUID or something). Pull only the final changes and save the temp brach history for future use. You can use machine learning on it for insights or to improve. \n\nMy point is that we should all be trying to capture as much data about the development process as possible. \n\n## Background\n\nAn idea just barely needs to work before you really get started. Start sooner.\n\n#### Why PHP/Symfony?\n\n**PHP** can get **down** and **dirty**. And *sometimes* **...** you have to do it ***symfony style***.\n\n```php\n  use Symfony\\Component\\Console\\Style\\SymfonyStyle;\n\n  return new SymfonyStyle($down, $dirty);\n```\n\nSymfony-X is about simplicity, performance, and scalability.\n\n\n## Plans\n\n- **Web App**: Forked from this repo, rapid web app development / deployment.\n- **Redneck Mode**: ALL servers/services/sites/workers/mercure/db/etc in one container. extend your docker image from it to add. The one server wonder!\n- **Docker Compose**: Comprehensive Docker Compose setup for the best Symfony AI Development experience.\n\n## Thoughts on direction\n\n- **Docker**:  Docker Compose for dev tools (open-web-ui/ollama/db/n8n/watchtower/etc/) and environment simulation (local / aws / etc).\n- **AWS**: AWS integration (dev and prod). S3, Cognito, DynamoDB, Bedrock. -\u003e automate deployments with Cloud Formation\n- **Go**: Integrating Symfony with Go - maybe more later.\n- **AI**: Integration with various AI. \n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit changes\n4. Push to the branch\n5. Open a pull request\n\n## License\n\nLicensed under the [MIT License](LICENSE).\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymfony-x%2Fsymfony-x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsymfony-x%2Fsymfony-x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsymfony-x%2Fsymfony-x/lists"}