{"id":19909856,"url":"https://github.com/etherealengine/ee-tutorials","last_synced_at":"2025-03-01T08:22:52.464Z","repository":{"id":227962845,"uuid":"761174449","full_name":"EtherealEngine/ee-tutorials","owner":"EtherealEngine","description":"Development ground for Ethereal Engine tutorial projects","archived":false,"fork":false,"pushed_at":"2024-03-01T07:59:30.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"dev","last_synced_at":"2024-10-29T22:49:43.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EtherealEngine.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-21T11:34:44.000Z","updated_at":"2024-03-16T00:25:22.000Z","dependencies_parsed_at":"2024-03-22T09:31:14.203Z","dependency_job_id":null,"html_url":"https://github.com/EtherealEngine/ee-tutorials","commit_stats":null,"previous_names":["etherealengine/ee-tutorials"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2Fee-tutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2Fee-tutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2Fee-tutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EtherealEngine%2Fee-tutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EtherealEngine","download_url":"https://codeload.github.com/EtherealEngine/ee-tutorials/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241337305,"owners_count":19946380,"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":[],"created_at":"2024-11-12T21:16:48.772Z","updated_at":"2025-03-01T08:22:52.428Z","avatar_url":"https://github.com/EtherealEngine.png","language":"TypeScript","readme":"# Development ground for Ethereal Engine tutorials\nThis is a meta-project for creating EE Tutorial/Example projects.  \nIt contains:\n- Collection of project ideas that could turn into useful tutorials\n- Already published tutorials _(as submodules)_\n- Source code of Work-in-Progress tutorial projects\n\n\u003e **Important**:  \n\u003e This repository uses git's `subtree` and `submodule` features for managing its contained projects.  \n\u003e Using the provided scripts and instructions is required to respect the repository's workflow.  \n\n## Cloning the Repository\nThe repository **must** be cloned with submodule recursion:\n```bash\ngit clone --recurse-submodules -j8 git@github.com:EtherealEngine/ee-tutorials.git\n```\n\nIf you already cloned the repository without recursive submodules\n```bash\ngit submodule update --init --recursive\n```\n\n## Creating a new project\nThis repository provides a script to add new projects based on the engine templates:\n```bash\n./create \u003cproject-name\u003e        # Creates a new project based on the standard template\n./create \u003cproject-name\u003e static # Creates a new project based on the static build template\n# NOTE: \u003cproject-name\u003e is the name of the project without the `ee-tutorial-` prefix\n```\n\n## Folder structure\n```md\nROOT\n ├─ 🗀 published  # Finished tutorial projects are stored as submodules\n │  ├─ 🗀 ...     # A published tutorial submodule ..\n │  └─ 🗀 ...     # A published tutorial submodule ..\n ├─ 🗀 src        # In-Development projects that might eventually be published\n │  ├─ 🗀 ...     # Source code of a Work-in-Progress tutorial project ..\n │  └─ 🗀 ...     # Source code of a Work-in-Progress tutorial project ..\n ├─ 🗎 create     # Shell script to create new projects from the engine templates\n └─ 🗎 readme.md  # This file\n```\n\n## Publishing finished projects\nThis process allows to extract the project from this repository's git-tree without losing its history.  \n```bash\n# Split the project's tree without losing its history\ngit subtree split -P ./src/\u003cfolder-name\u003e -b \u003cnew-branch\u003e\n# NOTE: \u003cnew-branch\u003e is a branch on this repository, not on the new repository that will contain the example\n\n# Create the published project\nmkdir ./published/\u003cfolder-name\u003e \u0026\u0026 cd ./published/\u003cfolder-name\u003e\ngit init \u0026\u0026 git pull git@github.com:EtherealEngine/ee-tutorials.git \u003cnew-branch\u003e\n\n# Create the repository with GitHub UI and add the resulting URL\ngit remote add origin \u003cgit@github.com:user/new-repo.git\u003e\ngit push -u origin dev\n\n# Cleanup the original code of the project\ngit rm -rf ./src/\u003cfolder-name\u003e \n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetherealengine%2Fee-tutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetherealengine%2Fee-tutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetherealengine%2Fee-tutorials/lists"}