{"id":13437782,"url":"https://github.com/lizadaly/windrift","last_synced_at":"2025-03-19T18:30:40.230Z","repository":{"id":12020034,"uuid":"69711264","full_name":"lizadaly/windrift","owner":"lizadaly","description":"A JS framework for writing mutable stories","archived":false,"fork":false,"pushed_at":"2023-10-25T03:50:32.000Z","size":150106,"stargazers_count":228,"open_issues_count":6,"forks_count":16,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-07-31T03:18:01.027Z","etag":null,"topics":["hypertext","interactive-fiction"],"latest_commit_sha":null,"homepage":"https://windrift.app","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/lizadaly.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":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-10-01T00:40:13.000Z","updated_at":"2024-07-07T21:07:37.000Z","dependencies_parsed_at":"2024-01-16T01:26:58.132Z","dependency_job_id":"1255abfd-ce23-4cbb-914d-463c4eca3236","html_url":"https://github.com/lizadaly/windrift","commit_stats":{"total_commits":612,"total_committers":5,"mean_commits":122.4,"dds":0.08006535947712423,"last_synced_commit":"cb1271b70433c8123b09b481cb1c4c9e10644bb2"},"previous_names":[],"tags_count":7,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lizadaly%2Fwindrift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lizadaly%2Fwindrift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lizadaly%2Fwindrift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lizadaly%2Fwindrift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lizadaly","download_url":"https://codeload.github.com/lizadaly/windrift/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221729740,"owners_count":16871095,"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":["hypertext","interactive-fiction"],"created_at":"2024-07-31T03:01:00.181Z","updated_at":"2024-10-27T20:30:36.861Z","avatar_url":"https://github.com/lizadaly.png","language":"TypeScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Windrift\n\nA JavaScript framework for writing mutable narratives\n\n![Integration tests](https://github.com/lizadaly/windrift/actions/workflows/playwright.yml/badge.svg)\n\nWindrift has been used to author interactive hypertext stories including the award-winning [Harmonia](https://lizadaly.com/pages/harmonia/) in 2017, [Stone\nHarbor](https://stoneharborgame.com/) in 2016, and [The Ballroom](https://lizadaly.com/projects/the-ballroom/) in 2019, all by Liza Daly. It was\nalso used by Enrique Henestroza Anguiano to write \u003ca\nhref=\"http://springthing.net/2018/play_online/TheImposter/index.html\"\u003eThe\nImposter\u003c/a\u003e (2018) and José Carlos Dias to produce the [Portuguese translation of Stone Harbor](https://stoneharborgame.com/pt/) in 2021.\n\n## Documentation\n\nThe [official manual](https://windrift.app/manual) is continuously published as features are added and is itself a Windrift story. The manual is the best way to quickly get an overview of Windrift. Corrections and requests for coverage are gratefully accepted.\n\n## Example stories\n\nStories demonstrating use of Windrift 2 from the basic to the advanced are available as part of the [official manual](https://windrift.app/manual) , as well as in the [Windrift Playground](https://playground.windrift.app/). Source code is available for all example stories.\n\n## Quick start\n\n### Dependencies\n\nTo ensure you're using a fully-compatible version of Node, use [Node Version Manager](https://github.com/nvm-sh/nvm). Follow its installation process for your platform and then run:\n\n```\nnvm install 18\nnvm use 18\n```\n\nThen to install Windrift:\n\n```\nnpm install\n```\n\n### To start a new story\n\n```\nnpm run new \u003cstory-id\u003e\n```\n\nThe story identifier must be a single string, like \"west-of-house\" or \"colossal-cave.\" See the [manual](https://windrift.app/manual) for details.\n\n### To run the local development environment\n\n```\nnpm run dev\n```\n\nOther commands, including deployment options, are described in the \u003ca href=\"https://windrift.app/manual\"\u003eWindrift manual\u003c/a\u003e.\n\n## About version 2\n\nThis is a complete rewrite of Windrift, now based on [NextJS](https://nextjs.org/) and written in [TypeScript](https://www.typescriptlang.org/).\n\nWindrift no longer separates the core library from the web framework, which was previously available as the `windrift-starter` repo. Keeping windrift-starter and windrift core separate made for a confusing installation and update process, and neither was useful without the other.\n\nWindrift 2 unifies them into a single NextJS application, capable of hosting multiple stories. Authors can take advantage of any affordances offered by NextJS, including the free deployment options via [Vercel](https://vercel.com).\n\nBecause the core Windrift code is bundled with each story repository, authors can fully modify or alter any fundamental behavior of the library.\n\nThe [v1 branch](https://github.com/lizadaly/windrift/tree/v1) is no longer receiving updates.\n\n## Contributor acknowledgment\n\n* 6notes: Playwright test suite conversion\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flizadaly%2Fwindrift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flizadaly%2Fwindrift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flizadaly%2Fwindrift/lists"}