Skip to content

Commit fc62103

Browse files
committed
feat: rearrange readme and add dev content
1 parent cf5a602 commit fc62103

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,18 @@ class DebugLevel(str, Enum):
350350
351351
```
352352
353-
## 🐋 Docker
353+
## 🧑‍💻 Development Enviroment
354+
355+
### 🏠 Local
356+
357+
Follow these steps to install the `chasten` tool for future development:
358+
359+
- The developement and use of Chasten requires [Python 3.11](https://www.python.org/downloads/release/python-3115/), must be greater or equal to version 3.11.5.
360+
- The developers of Chasten use [Poetry](https://github.com/python-poetry/poetry) for packaging and dependency management.
361+
362+
Once Python and Poetry is installed, please go to the [Chasten](https://github.com/AstuteSource/chasten) repository on github and install the tool using the `git clone` command in your terminal. Then navigate to the Chasten directory and run the command `poetry install` to install all the dependencies.
363+
364+
### 🐋 Docker
354365
355366
There is also the option to use [Docker](https://www.docker.com/) to use `chasten`
356367
@@ -369,6 +380,15 @@ Follow these steps to utilize Docker:
369380
- Outside of the container type `docker commit <your-container-id> <your-image-name>` to save the dependecy installation
370381
- Now you can use Docker for all of your `chasten` needs!
371382
383+
## 📋 Development Tasks
384+
385+
- **Linting and Formatting**
386+
- We use the linting tools `Black` and `Ruff` on Chasten to ensure code consistency, readability, and adherence to predefined formatting standards across the entire project, ultimately enhancing maintainability and collaboration among developers.
387+
- Please ensure all content in the project follow the appropriate format by running the following commands: `poetry run task fiximports` and/or `poetry run task fixformat` before shipping new features. If features are shipped with linting issues, the build will break on github due to the failure of the test suite.
388+
- **Testing and Coverage**
389+
- Chasten uses the testing tools `Pytest` and `Hypothesis` which enables us to fortify code consistency, readability, and alignment with established formatting standards throughout the project. When writing test cases for features, create a new file in the tests directory with the naming convention `test_(name of file)`.
390+
- Please ensure all content in the project passes the tests by running the following commands: `poetry run task test` for most cases or if you would like to test the OpenAI API based features `poetry run task test-api` before shipping. If features are shipped without a test suite, the coverage will be lowered on github due to the addition of untested code and may potenitally lead to larger issues in the future.
391+
372392
## 🤗 Learning
373393
374394
- **Curious about the nodes that are available in a Python program's AST?**

0 commit comments

Comments
 (0)