{"id":41150483,"url":"https://github.com/jiribenes/effekt-template","last_synced_at":"2026-01-22T19:05:19.247Z","repository":{"id":258940031,"uuid":"850260246","full_name":"jiribenes/effekt-template","owner":"jiribenes","description":"Effekt project template","archived":false,"fork":false,"pushed_at":"2026-01-13T08:55:14.000Z","size":140,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T10:59:20.255Z","etag":null,"topics":["effekt","effekt-lang","template"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jiribenes.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-31T09:43:11.000Z","updated_at":"2026-01-13T08:55:18.000Z","dependencies_parsed_at":"2025-04-29T02:41:59.159Z","dependency_job_id":"bfbd1b58-a681-44b1-aa90-2dccd0cdce43","html_url":"https://github.com/jiribenes/effekt-template","commit_stats":null,"previous_names":["jiribenes/effekt-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/jiribenes/effekt-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiribenes%2Feffekt-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiribenes%2Feffekt-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiribenes%2Feffekt-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiribenes%2Feffekt-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiribenes","download_url":"https://codeload.github.com/jiribenes/effekt-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiribenes%2Feffekt-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28668840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T17:07:18.858Z","status":"ssl_error","status_checked_at":"2026-01-22T17:05:02.040Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["effekt","effekt-lang","template"],"created_at":"2026-01-22T19:02:19.060Z","updated_at":"2026-01-22T19:05:19.239Z","avatar_url":"https://github.com/jiribenes.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Effekt Template\n\n\u003e [!WARNING]\n\u003e This is a work-in-progress, feel free to contribute!\n\nThis template provides a starting point for Effekt projects.\n\n## Table of contents\n\n- [First steps](#first-steps)\n- [Useful commands](#useful-commands)\n  - [Effekt commands](#effekt-commands)\n  - [Nix-related commands](#nix-related-commands)\n- [Example projects](#example-projects-using-this-template)\n- [Repository structure](#repository-structure)\n- [CI](#ci)\n\n---\n\n## First steps\n\nAfter using this template, follow these steps to set up your project:\n\n1. Set up your development environment:\n   - Clone this repository locally.\n   - Open it in VSCode.\n   - Install the Effekt VSCode extension offered in the pop-up in the bottom right.\n\n2. Customize the project:\n   - Open `flake.nix` and update the project name and other relevant values (follow the comments).\n   - Push your `flake.nix` file after the changes and see if the CI agrees.\n\n3. Set-up auto-update CI in order to get weekly PRs on Tuesday which update the Effekt version in CI:\n   - Go to Settings -\u003e Actions -\u003e General:\n     - and set \"Workflow permissions\" to \"Read and write permissions\"\n     - and check \"Allow GitHub Actions to create and approve pull requests\"    \n   - See the [CI](#ci) section for more details\n\n3. Replace this `README` with your own!\n\n## Useful commands\n\n### Effekt commands\n\nRun the main file:\n```sh\neffekt src/main.effekt\n```\nThis (like many other Effekt commands) uses the JavaScript backend by default.\nTo use a different backend, add the `--backend \u003cbackend\u003e` flag.\n\nRun the tests:\n```sh\neffekt src/test.effekt\n```\n\nOpen the REPL:\n```sh\neffekt\n```\n\nBuild the project:\n```sh\neffekt --build src/main.effekt\n```\nThis builds the project into the `out/` directory, creating a runnable file `out/main`.\n\nTo see all available options and backends, run:\n```sh\neffekt --help\n```\n\n### Nix-related commands\n\nWhile Nix installation is optional, it provides several benefits:\n\nUpdate dependencies (also runs automatically in CI):\n```sh\nnix flake update\n```\n\nOpen a shell with all necessary dependencies:\n```sh\nnix develop\n```\n\nRun the main entry point:\n```sh\nnix run\n```\n\nBuild the project (output in `result/bin/`):\n```sh\nnix build\n```\n\n## Example projects using this template\n\n- [see the `effekt-community` GitHub organization](https://github.com/effekt-community/)\n- This very project!\n\n## Repository structure\n\n- `.github/workflows/*.yml`: Contains the [CI](#ci) definitions\n- `src/`: Contains the source code\n  - `main.effekt`: Main entry point\n  - `test.effekt`: Entry point for tests\n  - `lib.effekt`: Library code imported by `main` and `test`\n- `flake.nix`: Package configuration in a Nix flake\n- `flake.lock`: Auto-generated lockfile for dependencies\n- `LICENSE`: Project license\n- `README`: This README file\n\n## CI\n\nTwo GitHub Actions are set up:\n\n1. `flake-check`:\n   - Checks the `flake.nix` file, builds and tests the project\n   - Runs on demand, on `main`, and on PRs\n   - To run custom commands, add a step using:\n     - `nix run -- \u003cARGS\u003e` to run the main entry point with the given arguments\n     - `nix develop -c '\u003cbash command to run\u003e'` to run commands in the correct environment\n\n2. `update-flake-lock`:\n   - Updates package versions in `flake.nix`\n   - Runs on demand and weekly (Tuesdays at 00:00 UTC)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiribenes%2Feffekt-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiribenes%2Feffekt-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiribenes%2Feffekt-template/lists"}