StoryScript is an high-level language that can be used to orchestrate microservices in an algorithmic way. Unlike a traditional language, StoryScript describes operations against or with services:
today = date now invoices = database get items:"invoices" where:"month={{today.month}}" if today.day == 1 send invoices
You can launch a scalable web application with a five-liner:
stream http-server as request query = parse-request request:request data = database get query:query html = erb template:'/assets/template.erb' data:data request.write input:html
These stories are compiled into event trees and run by a platform that implements StoryScript execution, like Asyncy
StoryScript is at an alpha stage and is part of the Asyncy project. If you want to learn more about Asyncy, and how to use StoryScript with Asyncy, you can visit the asyncy documentation
At the moment, Asyncy is the only platform that can execute StoryScript, however due the open source nature of the project, there might be more platforms that support StoryScript in the future.
Create a Python 3.6 virtualenv:
virtualenv --python=python3.6 folder
Activate it:
cd folder source bin/activate
Install with pip:
pip install storyscript
Write a simple story:
echo "alpine echo text:'hello world!'" > hello.story
Compile a story to JSON:
storyscript parse -j hello.story
Development docs are provided for those who wish to contribute to the project or want to understand how to execute compiled stories.
If you want to contribute to Storyscript, you can join the community at our slack, where we discuss features and future plans.
You can find open issues on github, along with contribution guidelines for happy coding. There are simple issues for new contributors and issues that need help
The list of contributors is available here
For problems directly related to the CLI, add an issue on GitHub. For other issues, submit a support ticket