Thanks for checking out the Astro Reactive Library! Welcome to a new adventure.
This is a library of components and utilities for building reactive user interfaces with Astro--a modern web framework.
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.
Any contribution is welcome. Feel free to look around to find something that interests you. :)
The issues page contains some ideas, but they should not limit your contribution.
If you don't find anything there, we are happy to help you get your contribution in.
You can always create a new issue for your own idea, post on our discussions or join our Discord.
This project aims to be a library that developers will use to create reactive UIs with Astro.
The project 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.
We are using Turborepo as our monorepo build system.
- demo in the directory
apps/demo
- Astro web application that we use to test and demonstrate the library components
- form in the directory
packages/form
- component that allows developers to programmatically build a form
- validator in the directory
packages/astro-reactive-validator
- component that allows developers to set up validators for their forms easily
-
docs - in the directory
apps/docs
- Astro website for the library's extensive documentation
-
landing-page - in the directory
apps/landing-page
- Astro website for the library's introductory landing page
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 [email protected]:<your-user-name>/astro-reactive.git
- Go into the project directory
cd astro-reactive
- 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
We also maintain the documentation website and the project landing page in this repository. The source for these applications is found in the apps
directory.
You can start the dev server for the docs and landing-page websites with the following commands:
npm run docs
npm run landing-page
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 be automatically fixed with a command
npm run lint:fix
As mentioned above, this project involves packages that are intended 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!
✍️ Read on conventional commits; you'll see this used around issues, PRs, and commit messages
🏘️ Read our community guidelines
📝 Check the discussion board for announcements or post your messages and questions
💬 Hang-out with the team on our Discord to share feedback, get support, or just have some laughs over memes 😅
🛠️ Create a new issue for bugs found or improvement ideas