{"id":20887186,"url":"https://github.com/yosriady/ecs","last_synced_at":"2026-03-15T18:34:07.838Z","repository":{"id":52168939,"uuid":"68314226","full_name":"yosriady/ecs","owner":"yosriady","description":":rabbit: Entity Component System","archived":false,"fork":false,"pushed_at":"2021-05-06T15:16:30.000Z","size":13,"stargazers_count":68,"open_issues_count":0,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-01T10:21:14.177Z","etag":null,"topics":["ecs","elixir","entity-component","entity-component-system"],"latest_commit_sha":null,"homepage":"http://yos.io/2016/09/17/entity-component-systems/","language":"Elixir","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/yosriady.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}},"created_at":"2016-09-15T17:08:41.000Z","updated_at":"2024-09-22T20:16:02.000Z","dependencies_parsed_at":"2022-08-24T00:40:32.360Z","dependency_job_id":null,"html_url":"https://github.com/yosriady/ecs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yosriady%2Fecs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yosriady%2Fecs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yosriady%2Fecs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yosriady%2Fecs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yosriady","download_url":"https://codeload.github.com/yosriady/ecs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253808444,"owners_count":21967542,"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":["ecs","elixir","entity-component","entity-component-system"],"created_at":"2024-11-18T08:19:23.637Z","updated_at":"2025-10-23T17:01:59.916Z","avatar_url":"https://github.com/yosriady.png","language":"Elixir","readme":"# Entity Component System\n\n```elixir\n\nECS.Registry.start\n\n# Create an entity with a given collection of components.\nbunny = ECS.Entity.build([TimeComponent.new(%{age: 0})])\n\n# Each game turn, we may trigger a system to process and push some state updates to our components.\nTimeSystem.process\nTimeSystem.process\n\n# Because Elixir is immutable, we need to pull the latest state.\nbunny = ECS.Entity.reload(bunny)\n\n# New components can be added at runtime, adding new behaviour to existing entities.\nbunny = ECS.Entity.add(bunny, TimeComponent.new(%{age: 10}))\n\n# State updates will also be pushed to components added at runtime.\nTimeSystem.process\nbunny = ECS.Entity.reload(bunny)\n\n```\n\n## Thanks\n\n**ecs** © 2016+, Yos Riady. Released under the [MIT] License.\u003cbr\u003e\nAuthored and maintained by Yos Riady with help from contributors ([list][contributors]).\n\n\u003e [yos.io](http://yos.io) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@yosriady](https://github.com/yosriady)\n\n[MIT]: http://mit-license.org/\n[contributors]: http://github.com/yosriady/ecs/contributors\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyosriady%2Fecs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyosriady%2Fecs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyosriady%2Fecs/lists"}