Skip to content

Commit

Permalink
fix: trigger ci, updated docs
Browse files Browse the repository at this point in the history
  • Loading branch information
alinalihassan committed Apr 22, 2023
1 parent 77c33ca commit 2a3abf6
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 47 deletions.
91 changes: 52 additions & 39 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,76 @@
Here is an updated version of your `CONTRIBUTING.md` file with some changes to improve clarity and organization:

# Contributing

It's good to hear that you want to contribute to Lesma! Below are some guidelines, tips and tricks to do just that!
Thank you for your interest in contributing to Lesma! In this document, you'll find guidelines, tips, and tricks to help
you contribute effectively.

## Getting Started

To get started, if you plan to make changes related to parts other than documentation, we strongly suggest to visit the
[Getting Started](https://lesma-lang.com/docs/introduction/getting-started) part of the documentation to install
the prerequisites.
Before making any code changes, we strongly recommend visiting
the [Getting Started](https://lesma-lang.com/docs/introduction/getting-started) section of the documentation to install
the necessary prerequisites.

## Feature Request
## Feature Requests

For any feature requests or enhancements to Lesma, [suggest your change](https://github.com/alinalihassan/Lesma/discussions/new) and write in detail the changes and the benefits of such a change.
If you have an idea for a new feature or an enhancement to
Lesma, [start a discussion](https://github.com/alinalihassan/Lesma/discussions/new) and provide detailed information
about the proposed changes and their benefits.

## Bug Report
## Bug Reports

Please [search existing issues](https://github.com/alinalihassan/lesma/issues) to make sure your issue hasn't already been reported. If you cannot find a suitable issue, [create a new one](https://github.com/alinalihassan/lesma/issues/new).
Before reporting a bug, please [search existing issues](https://github.com/alinalihassan/lesma/issues) to ensure it
hasn't already been reported. If you can't find a suitable
issue, [create a new one](https://github.com/alinalihassan/lesma/issues/new) and provide the following details:

Provide the following details:
* A short summary of what you were trying to achieve
* The code causing the bug
* The expected result
* The actual results
* Environment details, such as operating system and compiler version (`lesma -v`)

* short summary of what you was trying to achieve,
* a code causing the bug,
* expected result,
* actual results and
* environment details: at least operating system and compiler version (`lesma -v`).
If possible, isolate the problem and provide just enough code to demonstrate it. Include any related information that
might help to fix the issue.

If possible, try to isolate the problem and provide just enough code to demonstrate it. Add any related information which might help to fix the issue.
## Contributing Code

## How To Contribute
We use a standard GitHub pull request workflow. If you have already contributed to a project via GitHub pull request,
you can skip this section and proceed to the [specific details of what we ask for in a pull request](#pull-requests). If
this is your first time contributing to a project via GitHub, follow these steps:

We use a fairly standard GitHub pull request workflow. If you have already contributed to a project via GitHub pull request, you can skip this section and proceed to the [specific details of what we ask for in a pull request](#pull-request). If this is your first time contributing to a project via GitHub, read on.
1. Fork the Lesma repo using the GitHub website. This will create a copy of the Lesma repo under your GitHub account.
2. Clone your Lesma repo to your local machine.
3. Create a branch for your changes.
4. Make your changes on that branch.
5. Push your changes to your repo.
6. Use the GitHub website to open a pull request (PR).

Here is the basic GitHub workflow:
Keep these points in mind:

1. Fork the Lesma repo. you can do this via the GitHub website. This will result in you having your own copy of the Lesma repo under your GitHub account.
2. Clone your Lesma repo to your local machine.
3. Make a branch for your change.
4. Make your change on that branch.
5. Push your change to your repo.
6. Use the GitHub website to open a PR.
1. Your fork doesn't automatically stay up to date with changes in the main repo.
2. Any changes you make on your PR branch will automatically appear in the PR, so always create different branches for
multiple PRs.
3. To avoid commit history issues, always create your PR branches from the main branch.

Some things to note that aren't immediately obvious to folks just starting out:
Refer to the [official GitHub documentation](https://help.github.com/) for more information. Some useful resources
include:

1. Your fork doesn't automatically stay up to date with change in the main repo.
2. Any changes you make on your branch that you used for the PR will automatically appear in the PR so if you have more than 1 PR, be sure to always create different branches for them.
3. Weird things happen with commit history if you don't create your PR branches off of main so always make sure you have the main branch checked out before creating a branch for a PR
* [Forking a Repo](https://help.github.com/articles/fork-a-repo/)
* [Creating a Pull Request](https://help.github.com/articles/creating-a-pull-request/)
* [Syncing a Fork](https://help.github.com/articles/syncing-a-fork/)

You can read more about GitHub via [the official documentation](https://help.github.com/). Some highlights include:
## Pull Requests

* [Fork A Repo](https://help.github.com/articles/fork-a-repo/)
* [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/)
* [Syncing a fork](https://help.github.com/articles/syncing-a-fork/)
We use [Semantic Release](https://semantic-release.gitbook.io/semantic-release/) in our CI, which relies
on [Conventional Commits](https://www.conventionalcommits.org/) for commit messages. Our [CHANGELOG](CHANGELOG.md) with
all the changes in Lesma is generated based on Semantic Release and Git commit messages.

## Pull Request
Please familiarize yourself with the commit message style to avoid having to rename commits during a PR:

Before making a pull request, please check how commit messages should be structured, since we're using [Semantic Release](https://semantic-release.gitbook.io/semantic-release/) in our CI based on [Conventional Commits](https://www.conventionalcommits.org/).
Our [CHANGELOG](CHANGELOG.md) with all the changes in Lesma is based on Semantic Release and the commit messages in Git.
* [Writing a Good Commit Message](http://chris.beams.io/posts/git-commit/)
* [Using Conventional Commits](https://www.conventionalcommits.org/)

Please get familiar with the commit messaging style to avoid having to rename commits during a Pull Request.
When submitting a PR, remember to:

* [Write a good commit message](http://chris.beams.io/posts/git-commit/).
* [Use Conventional Commits](https://www.conventionalcommits.org/).
* Issue 1 Pull Request per feature. Don't lump unrelated changes together.
* Create one PR per feature. Don't combine unrelated changes.
* Ensure your PR is based on the latest main
26 changes: 18 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,19 @@

</div>

**Lesma** is a compiled, statically typed, imperative and object-oriented programming language with a focus on expressiveness, elegance, and simplicity, while not sacrificing on performance.
**Lesma** is a compiled, statically typed, imperative and object-oriented programming language with a focus on
expressiveness, elegance, and simplicity, while not sacrificing on performance.

## πŸ“ Features
- πŸš€ Fast Compilation: compiling at a rate of β‰ˆ230k loc/s, [because waiting for code to compile is a thing of the past](https://xkcd.com/303/)
- ⚑ Blazing Fast Execution: because it should be, it's as fast as C, using LLVM's state-of-the-art optimizations, but it won't ever oblige you to make an extra effort just for the sake of performance
- πŸ”¬ Statically Typed: because IDE completion is like heaven, while unknown behaviour and runtime exceptions are like hell
- πŸ§‘β€πŸŽ¨ Simple: because the code should be easily readable, and it shouldn't make you guess what it does or take long to learn

- πŸš€ Fast Compilation: compiling at a rate of β‰ˆ230k
loc/s, [because waiting for code to compile is a thing of the past](https://xkcd.com/303/)
- ⚑ Blazing Fast Execution: because it should be, it's as fast as C, using LLVM's state-of-the-art optimizations, but it
won't ever oblige you to make an extra effort just for the sake of performance
- πŸ”¬ Statically Typed: because IDE completion is like heaven, while unknown behaviour and runtime exceptions are like
hell
- πŸ§‘β€πŸŽ¨ Simple: because the code should be easily readable, and it shouldn't make you guess what it does or take long to
learn

## ✍️ Example

Expand All @@ -39,17 +45,21 @@ bash -c "$(curl -fsSL https://raw.githubusercontent.com/alinalihassan/Lesma/main

## πŸ”§ Build

In order to build Lesma, you need Clang and LLVM 14 installed. It's currently only supported on Linux and macOS.
In order to build Lesma, you need Clang and LLVM 15 installed. It's currently only supported on Linux and macOS.
For a more comprehensive guide, and more information on how to install the prerequisites,
read the documentation on [Getting Started](https://lesma-lang.com/docs/introduction/getting-started)

![CLI Commands](imgs/cli_commands.png)

## πŸ’¬ Contributing

Pull requests are welcome. For major changes, please open an issue to discuss your proposal and what you'd like to change.
Pull requests are welcome. For major changes, please open an issue to discuss your proposal and what you'd like to
change.

- To keep updated with releases, consider starring the project.
- Check the [code of conduct](CODE_OF_CONDUCT.md) and [contributing guidelines](CONTRIBUTING.md)

## πŸ“Ž License
This software is licensed under the [MIT](https://github.com/alinalihassan/Lesma/blob/main/LICENSE.txt) Β© [Alin Ali Hassan](https://github.com/alinalihassan).

This software is licensed under the [MIT](https://github.com/alinalihassan/Lesma/blob/main/LICENSE.txt)
Β© [Alin Ali Hassan](https://github.com/alinalihassan).

0 comments on commit 2a3abf6

Please sign in to comment.