4.3 KiB
Hi, explorer! 🚀
Thanks for checking out the Astro Reactive Library! Welcome to a new adventure.
We are trying to build a new library of components and utilities for building reactive user interfaces with Astro.
There's a lot of opportunity to contribute. A good start will be to understand what Astro is, and how to set up a basic Astro project. For this, the Astro website and documentation are good places to start.
Contributing
Any contribution is welcome. Feel free to look around to find something that interests you. :)
Maybe add some themes to our form component? Or maybe just improve the README?
The issues page contains some ideas, but they should not limit your contribution.
If you don't find anything there, I'm happy to help you get your contribution in.
You can always create a new issue for your own idea, email me (ramon.aycojr+hack@gmail.com) or message me on Twitter (@ayoayco).
The Astro Reactive Library
This project aims to be a library that developers will use to create reactive UIs with Astro.
Currently, it is made up of NPM workspaces, which are node projects that share a singular root package. It is good to understand the basics of this, but basically, the project will have multiple packages (under the packages
directory) that share a common root package information.
Packages:
- demo - found in the directory
demo
- the demo Astro app that we use to test and demonstrate the library features
- astro-reactive-form - found in the directory
packages/astro-reactive-form
- allows developers to programatically build a Form for Astro
- astro-reactive-validator - found in the directory
packages/astro-reactive-validator
Running locally
We mainly use the demo
app to see changes we make on the packages. Do the following to start hacking:
- Fork the project then clone to your computer
git clone git@github.com:<your-user-name>/astro-reactive-library.git
- Go into the project directory
cd astro-reactive-library
- Install the node dependencies
npm i
- Run the demo application
npm start
- Open the demo application on you browser. Browse to the address
https://localhost:3000
The Documentation website
Want to update the documentation? We also maintain the documentation website in this repository. The source for this is found in the docs
directory. You can also start the dev server for the docs website with the following command:
npm run docs
Running the linter and tests
Please run the linter and tests before creating a PR to avoid delays in PR reviews. Fix all linting errors or failing tests whey you run the following commands.
npm run lint
npm test
✨ HINT: Some linting errors could automatically fixed with a command
npm run lint:fix
Hacking with the packages
As mentioned above, this project involves packages that are intened to be used in Astro applications. The demo app is our way to test and play with the packages.
If you plan to add features or fix bugs that are found in the packages, such as astro-reactive-form
, you can find the source code for this inside the packages
directory.
Thank you again for your interest in contributing!
Next Actions
🏘️ Read our community guidelines
💬 Check the discussion board for announcements or post your messages and questions
🛠️ Create a new issue for bugs found or improvement ideas