https://github.com/socketry/lively
https://github.com/socketry/lively
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/socketry/lively
- Owner: socketry
- License: mit
- Created: 2021-06-07T00:50:06.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-04T00:31:02.000Z (about 2 months ago)
- Last Synced: 2026-04-04T02:26:56.512Z (about 2 months ago)
- Language: JavaScript
- Size: 16.5 MB
- Stars: 73
- Watchers: 0
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# Lively
A Ruby framework for building interactive web applications for creative coding.
[](https://github.com/socketry/lively/actions?workflow=Test)
## Usage
Please see the [project documentation](https://socketry.github.io/lively/) for more details.
- [Getting Started](https://socketry.github.io/lively/guides/getting-started/index) - This guide will help you get started with Lively, a framework for building real-time applications in Ruby.
- [Building a Worms Game with Lively](https://socketry.github.io/lively/guides/worms-tutorial/index) - This tutorial will guide you through creating a Worms-style game using Lively, a Ruby framework for building real-time applications.
- [Building a Flappy Bird Game with Live Views](https://socketry.github.io/lively/guides/flappy-bird-tutorial/index) - This tutorial will guide you through creating a complete Flappy Bird-style game using Live Views, a Ruby framework for building real-time interactive applications.
- [Game Audio Tutorial](https://socketry.github.io/lively/guides/game-audio-tutorial/index) - This guide shows you how to add audio to your Live.js games and applications using the `live-audio` library. You'll learn how to play sound effects, background music, and create dynamic audio experiences.
## Releases
Please see the [project releases](https://socketry.github.io/lively/releases/index) for all releases.
### v0.17.0
- Expose shared application state via `Application[..., controller: Controller.new]`.
### v0.16.2
- Modernize internals and update dependencies.
### v0.16.1
- Updated game audio tutorial content.
### v0.16.0
- Updated `live-audio` component dependencies.
### v0.15.1
- Fixed handling of spaces in asset names.
### v0.15.0
- Added platformer-style game example.
- Improved game audio tutorial.
### v0.14.1
- Added `bake` tasks for release management.
### v0.14.0
- Fixed guide rendering and test suite.
### v0.13.1
- Tidied up gem dependencies.
### v0.13.0
- Added `live-audio` support for background and positional audio in applications.
- Added game audio example demonstrating audio playback.
- Fixed serving non-existent asset paths gracefully.
- Achieved 100% test and documentation coverage.
## See Also
- [live](https://github.com/socketry/live) — Provides client-server communication using websockets.
- [mayu](https://github.com/mayu-live/framework) — A live streaming server-side component-based VirtualDOM rendering framework.
## Contributing
We welcome contributions to this project.
1. Fork it.
2. Create your feature branch (`git checkout -b my-new-feature`).
3. Commit your changes (`git commit -am 'Add some feature'`).
4. Push to the branch (`git push origin my-new-feature`).
5. Create new Pull Request.
### Running Tests
To run the test suite:
``` shell
bundle exec sus
```
### Making Releases
To make a new release:
``` shell
bundle exec bake gem:release:patch # or minor or major
```
### Developer Certificate of Origin
In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
### Community Guidelines
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.