{"id":13998594,"url":"https://github.com/qteatime/crochet","last_synced_at":"2025-07-23T06:32:41.348Z","repository":{"id":43220866,"uuid":"327360358","full_name":"qteatime/crochet","owner":"qteatime","description":"Crochet: A tool for creating and remixing interactive experiences, safely.","archived":false,"fork":false,"pushed_at":"2023-12-26T17:37:40.000Z","size":10387,"stargazers_count":124,"open_issues_count":11,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-11-30T01:34:39.652Z","etag":null,"topics":["programming-language","secure-by-default"],"latest_commit_sha":null,"homepage":"https://crochet.qteati.me","language":"TypeScript","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/qteatime.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/comby/crochet.json","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-06T15:58:11.000Z","updated_at":"2024-11-04T23:40:27.000Z","dependencies_parsed_at":"2024-11-30T01:30:28.839Z","dependency_job_id":"1a8432e5-6102-4a9d-8f24-972c8c78ca90","html_url":"https://github.com/qteatime/crochet","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/qteatime/crochet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qteatime%2Fcrochet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qteatime%2Fcrochet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qteatime%2Fcrochet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qteatime%2Fcrochet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qteatime","download_url":"https://codeload.github.com/qteatime/crochet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qteatime%2Fcrochet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266631358,"owners_count":23959419,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["programming-language","secure-by-default"],"created_at":"2024-08-09T19:01:48.991Z","updated_at":"2025-07-23T06:32:41.031Z","avatar_url":"https://github.com/qteatime.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Crochet\n\n\u003e **NOTE:** Crochet is in early stages of development, there will be a lot\n\u003e of breaking changes here as I figure out what kind of language fits the\n\u003e games I want to create, and how to generalise that.\n\nCrochet is a tool designed for creating and remixing interactive media safely.\nIt is best thought as targeting the domains of Interactive Fiction, Simulation\nGames, Software Verification, and Interactive/Live Language Tooling.\n\n## Documentation\n\nThe documentation books on Crochet are a work in progress, you can find\nthem in [the Crochet documentation website](https://crochet.qteati.me/docs/).\n\nCurrently there's:\n\n- A reference book, which discusses the concepts and design philosophy of Crochet;\n- A syntax cheatsheet, which just lists all syntactical forms with examples; and\n- A contribution book, which describes how to contribute to Crochet.\n\n## Installing Crochet\n\nFor now, you can install Crochet from npm. You want the `@qteatime/crochet`\npackage with the experimental flag:\n\n```shell\n$ npm install @qteatime/crochet@experimental\n```\n\nYou can also compile it from source:\n\n```shell\n$ git clone https://github.com/qteatime/crochet.git\n$ cd crochet\n$ npm install\n$ node make build\n```\n\nSee `crochet --help` (or `./node_modules/.bin/crochet --help` if you've installed it locally) for usage information.\n\n## Playground\n\nYou can try programming interactively with the Playground. You can run with:\n\n```shell\n$ crochet playground \u003cpath/to/your/crochet.json\u003e\n```\n\nFor node projects you need to specify `node` as your Playground execution\ntarget, since the default is running the package in the browser:\n\n```shell\n$ crochet playground \u003cpath/to/your/crochet.json\u003e --target node\n```\n\nYou do need to specify a package because that's how Crochet tracks\ndependencies and capabilities. All code you type in the Playground will\nbe executed in the context of the given package. And all dependencies of\nthat package will be loaded first.\n\nThe Playground accepts both declarations and statements/expressions.\n\n## API Reference\n\nYou can get a reference documentation page on any package by using the\n`docs` command. E.g.:\n\n```shell\n$ crochet docs \u003cpath/to/crochet.core/crochet.json\u003e\n```\n\nYou'll be able to navigate through the documentation by accessing\nhttp://localhost:8080 in your browser.\n\n## Running packages\n\nYou can run a Crochet package on the terminal by using the `run` command.\nE.g.:\n\n```shell\n$ crochet run \u003cpath/to/your/crochet.json\u003e -- argument1 argument2\n```\n\nAnything after `--` is passed as the invocation arguments as-is to your\npackage. You must provide a command called `main: _`, where the only\nparameter will be this list of command line arguments.\n\nWeb packages are currently run with the `run-web` command. This does not\naccept any invocation arguments:\n\n```shell\n$ crochet run-web \u003cpath/to/your/crochet.json\u003e\n```\n\nYou can provide a different port with `--port 12345`. Currently the server\nis started on port 8000, and Crochet does not try to find an available\nport if that one is taken.\n\n## Licence\n\nCopyright (c) 2021 Niini  \nLicensed under the permissive MIT licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqteatime%2Fcrochet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqteatime%2Fcrochet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqteatime%2Fcrochet/lists"}