{"id":18588186,"url":"https://github.com/daytonaio/devcontainer-generator","last_synced_at":"2025-07-10T22:39:49.228Z","repository":{"id":252401115,"uuid":"840258665","full_name":"daytonaio/devcontainer-generator","owner":"daytonaio","description":"devcontainer.ai - AI generated standardized dev environments","archived":false,"fork":false,"pushed_at":"2025-01-21T11:29:11.000Z","size":2915,"stargazers_count":30,"open_issues_count":21,"forks_count":20,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-05T21:11:19.111Z","etag":null,"topics":["devcontainer"],"latest_commit_sha":null,"homepage":"https://devcontainer.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daytonaio.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-08-09T10:00:48.000Z","updated_at":"2025-03-31T06:50:30.000Z","dependencies_parsed_at":"2024-10-23T17:23:27.302Z","dependency_job_id":"1396895b-c2ae-4b09-a7b5-d4488e09d9bf","html_url":"https://github.com/daytonaio/devcontainer-generator","commit_stats":null,"previous_names":["nkkko/devcontainer-generator","daytonaio/devcontainer-generator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daytonaio%2Fdevcontainer-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daytonaio%2Fdevcontainer-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daytonaio%2Fdevcontainer-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daytonaio%2Fdevcontainer-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daytonaio","download_url":"https://codeload.github.com/daytonaio/devcontainer-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248233946,"owners_count":21069493,"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":["devcontainer"],"created_at":"2024-11-07T00:44:58.203Z","updated_at":"2025-04-10T14:30:41.279Z","avatar_url":"https://github.com/daytonaio.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![Open in Codeanywhere](https://codeanywhere.com/img/open-in-codeanywhere-btn.svg)](https://app.codeanywhere.com/#https://github.com/daytonaio/devcontainer-generator)\n\n# DevContainer Generator\n\nWelcome to the **devcontainer-generator** project! This tool helps you automatically generate `devcontainer.json` files for your development environments based on the structure and contents of a given GitHub repository.\n\n## Table of Contents\n\n1. [Project Structure](#project-structure)\n2. [Installation](#installation)\n3. [Configuration](#configuration)\n4. [Usage](#usage)\n5. [Setting Up Daytona Workspace](#setting-up-daytona-workspace)\n6. [Contributing](#contributing)\n7. [License](#license)\n\n## Project Structure\n\n```\ndevcontainer-generator\n├── tests.ipynb\n├── requirements.txt\n├── schemas\n│   └── devContainer.base.schema.json\n├── README.md\n├── main.py\n└── data\n    └── devcontainers.db\n```\n\n- **tests.ipynb**: Jupyter Notebook containing tests and exploratory data analysis.\n- **requirements.txt**: List of dependencies needed to run the project.\n- **schemas/**: Directory containing the JSON schema for the `devcontainer.json` file.\n- **README.md**: This documentation file.\n- **main.py**: Main script to generate `devcontainer.json` files.\n- **data/**: Directory containing the SQLite database files.\n\n## Installation\n\nTo run this project in Daytona, you'll need to have Daytona installed. Follow these steps to set up the project:\n\n1. **Install Daytona**:\n    ```bash\n    (curl -L https://download.daytona.io/daytona/install.sh | sudo bash) \u0026\u0026 daytona server stop \u0026\u0026 daytona server -y \u0026\u0026 daytona\n    ```\n\n2. **Create new project and run IDE**:\n    ```bash\n    daytona create https://github.com/daytonaio/devcontainer-generator.git\n    ```\n\n3. **Set up environment variables**:\n   Create a `.env` file in the project's root directory and add the following environment variables:\n    ```dotenv\n    AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint\n    AZURE_OPENAI_API_KEY=your_azure_openai_api_key\n    AZURE_OPENAI_API_VERSION=your_azure_openai_api_version\n    MODEL=your_model_name\n    GITHUB_TOKEN=your_github_token\n    SUPABASE_URL=your_supabase_url\n    SUPABASE_KEY=your_supabase_api_key\n    SUPABASE_DB_URL=your_supabase_db_url\n    ```\n\n## Configuration\n\n### Azure OpenAI and Instructor Clients\n\nEnsure the following environment variables are set in your `.env` file:\n\n```dotenv\nAZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint\nAZURE_OPENAI_API_KEY=your_azure_openai_api_key\nAZURE_OPENAI_API_VERSION=your_azure_openai_api_version\nMODEL=your_model_name\nGITHUB_TOKEN=your_github_token\n\n```\n\n### Supabase Database Setup\n\nRun the `migrate.py` script to create the `devcontainers` table in Supabase. Here's how you can do it:\n\n```bash\npython migrate.py\n```\n\nAfter creating the table, you can use the Supabase client in your Python code to interact with the database.\n\n### JSON Schema\n\nThe JSON schema for the `devcontainer.json` file is located in `schemas/devContainer.base.schema.json`.\n\n## Usage\n\nRun the `main.py` script to start the FastHTML app and generate `devcontainer.json` files. Here's how you can do it:\n\n```bash\npython main.py\n```\n\n**Instructions:**\n\n1. After starting the app, open your web browser and go to `http://localhost:8000`.\n2. Enter the URL of the GitHub repository for which you want to generate a `devcontainer.json` file.\n3. Click the \"Generate devcontainer.json\" button.\n4. The generated `devcontainer.json` will be displayed and can be copied to your clipboard.\n\n## Setting Up Daytona Workspace\n\n**Steps to Set Up Daytona Workspace**\n\n1. Create [Daytona](https://github.com/daytonaio/daytona) Workspace:\n\n    ```bash\n    daytona create https://github.com/nkkko/devcontainer-generator\n    ```\n\n2. Select Preferred IDE:\n\n    ```bash\n    daytona ide\n    ```\n\n3. Open the Workspace:\n\n    ```bash\n    daytona code\n    ```\n\n## Contributing\n\nWe welcome contributions! Please read our [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to contribute to this project.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n\n---\n\nThank you for using **devcontainer-generator**! If you have any questions or issues, feel free to open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaytonaio%2Fdevcontainer-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaytonaio%2Fdevcontainer-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaytonaio%2Fdevcontainer-generator/lists"}