Skip to content

Commit 8476120

Browse files
authored
chore: rewrite README, add CONTRIBUTING, sort package.json (#115)
* chore: improve Dockerfile, add CONTRIBUTING, sort package.json * chore: change "author" field in package.json, improve README landing * chore: rewrite most of the README * chore: add links to shield badges * chore: finish editing README * chore: finish CONTRIBUTING * chore: remove assets directory
1 parent 275cbf3 commit 8476120

File tree

5 files changed

+325
-1135
lines changed

5 files changed

+325
-1135
lines changed

CONTRIBUTING.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Contributing to SIMDE
2+
3+
Thank you for your interest in contributing to SIMDE! What follows is a list of possible actions to contribute to this project:
4+
5+
* Report any bug you encounter by [filing an issue](https://github.com/SIMDE-ULL/SIMDE/issues).
6+
7+
* You can propose new features also by [filing an issue](https://github.com/SIMDE-ULL/SIMDE/issues).
8+
9+
* Help by resolving [open issues](https://github.com/SIMDE-ULL/SIMDE/issues?q=is%3Aissue+is%3Aopen), especially those labeled as [_"good first issue"_](https://github.com/SIMDE-ULL/SIMDE/issues?q=is%3Aissue+is%3Aopen+label%3A"good+first+issue").

README.md

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,71 @@
11
# SIMDE
2-
[![Build Status](https://travis-ci.org/etsiiull/SIMDE.svg?branch=master)](https://travis-ci.org/etsiiull/SIMDE)
3-
[![All Contributors](https://img.shields.io/github/all-contributors/SIMDE-ULL/SIMDE?color=ee8449&style=flat-square)](#contributors)
42

5-
![Live exec](/assets/exec.gif)
3+
<p align="center">
4+
<a href="https://github.com/SIMDE-ULL/SIMDE/actions/workflows/build.yml"><img alt="SIMDE Build Status" src="https://img.shields.io/github/actions/workflow/status/SIMDE-ULL/SIMDE/build.yml" /></a>
5+
<a href="https://github.com/SIMDE-ULL/SIMDE?tab=GPL-3.0-1-ov-file"><img alt="SIMDE License" src="https://img.shields.io/github/license/SIMDE-ULL/SIMDE" /></a>
6+
<a href="https://github.com/SIMDE-ULL/SIMDE/stargazers"><img alt="SIMDE Stars" src="https://img.shields.io/github/stars/SIMDE-ULL/SIMDE" /></a>
7+
<a href="https://github.com/SIMDE-ULL/SIMDE?tab=readme-ov-file#contributors"><img alt="SIMDE Contributors" src="https://img.shields.io/github/all-contributors/SIMDE-ULL/SIMDE?color=red" /></a>
8+
</p>
69

7-
## What is SIMDE?
10+
<p align="center">
11+
<img width="480px" alt="SIMDE Logo" src="https://github.com/SIMDE-ULL/SIMDE/assets/25517190/6af8eb99-8b46-4f08-a78a-195863fff035" />
12+
</p>
813

9-
SIMDE is a simulator for supporting teaching of [ILP (Instruction Level Parallelism)](https://en.wikipedia.org/wiki/Instruction-level_parallelism) Architectures.
14+
> <p align="center">🖥️ Run <b>SIMDE</b> directly from your browser: <a href="https://SIMDE-ULL.github.io/SIMDE/">https://SIMDE-ULL.github.io/SIMDE/</a></p>
1015
11-
This simulator is a visual representation of a Superecalar machine execution and the students are able to see how the instructions move through the multiple stages of the pipeline.
16+
__SIMDE__ is a computer simulator with a strong focus on assisting in learning and education. As a didactic simulator, SIMDE aims to supercharge the teaching of [computer architecture]((https://en.wikipedia.org/wiki/Computer_architecture)) principles with a pragmatic, _learn-by-doing_ approach.
1217

13-
This make easier to learn concepts suchs as *Tomasulo's algorithm* and the purpose of structures such as the reorderbuffer.
18+
When used in supporting educational practices, SIMDE shines both for reproducing architectural concepts, such as [_Tomasulo's algorithm_](https://en.wikipedia.org/wiki/Tomasulo%27s_algorithm) and representing organizational structures, like [_re-order buffers_](https://en.wikipedia.org/wiki/Re-order_buffer).
1419

15-
## Technologies
20+
## This is how SIMDE looks in action
1621

17-
SIMDE is powered by Typescript, React, Redux, Sass and Webpack.
22+
![SIMDE in action](https://github.com/SIMDE-ULL/SIMDE/assets/25517190/32e20b09-ecf5-45a1-9057-6a708426a6be)
1823

19-
## How to use
24+
## Features
2025

21-
[Go to the project website and start learning](https://etsiiull.github.io/SIMDE/)
26+
* Designed to be simple and enjoyable to use.
27+
* Includes several forms of visualizing computer units and memory data.
28+
* Cross-platform, accessible from any modern web browser.
29+
* _Superscalar_ architecture simulation.
30+
* _Very Long Instruction Word_ (VLIW) architecture simulation.
31+
* Multiple instruction processing modes, including [batch processing](https://en.wikipedia.org/wiki/Batch_processing).
32+
* Instruction flow tracing to visually follow instructions through the pipeline.
33+
* Project uses modern development standards.
34+
* _Free_ as in _Freedom_ (see [License](#license) further below).
2235

23-
## Development
36+
## Getting started
2437

25-
SIMDE is build on top of typescript,sass and webpack. In order to make the build easier a docker file environment has been added.
26-
Just install docker and docker-compose and type:
38+
### Using the official web instance
2739

28-
`docker-compose up`
40+
SIMDE can be accessed directly from any modern browser of your choice at:
2941

30-
All services should be configurated and ready for deployment.
42+
[https://SIMDE-ULL.github.io/SIMDE/](https://SIMDE-ULL.github.io/SIMDE/)
3143

32-
Please beware that we copy the package.json each time we build the image so if you add more dependencies you should run `docker-compose build` in order to recreate the image.
44+
## Building from sources
3345

34-
## Troubling?
46+
### Prerequisites
3547

36-
If you have any doubt you should check [the official docs](https://etsiiull.gitbooks.io/simde/).
48+
Make sure that the following tools are installed in your system:
3749

38-
## License
50+
* [Node.js](https://nodejs.org/en) (version >=18).
51+
* [Yarn](https://yarnpkg.com/) (version >=4).
52+
53+
### Build steps
54+
55+
1. Install the project dependencies:
56+
```bash
57+
yarn install --immutable --immutable-cache
58+
```
59+
60+
2. Build the static site:
61+
```bash
62+
yarn build
63+
```
64+
65+
The generated build will be available in the `dist/` directory generated in the root directory of the project. The static files can be served using a HTTP server, such as [Apache httpd](https://httpd.apache.org/), [NGINX](https://www.nginx.com/) or [Traefik](https://traefik.io/).
3966

40-
The project has been released under GPLv3 License.
67+
## Contributing
68+
See [CONTRIBUTING](CONTRIBUTING.md).
4169

4270
## Contributors
4371

@@ -60,3 +88,9 @@ The project has been released under GPLv3 License.
6088
<!-- prettier-ignore-end -->
6189

6290
<!-- ALL-CONTRIBUTORS-LIST:END -->
91+
92+
## License
93+
94+
SIMDE is licensed under the [GNU General Public License v3.0 only](https://spdx.org/licenses/GPL-3.0-only.html).
95+
96+
The rationale behind this decision is that we, the SIMDE authors, believe that society must strive for free, accessible, high quality educational resources. Given that, SIMDE will always be _"Free as in Freedom"_ for anyone to use anywhere, at any time.

assets/exec.gif

-1.22 MB
Binary file not shown.

package.json

Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,27 @@
22
"name": "simde",
33
"version": "2.3.0",
44
"description": "Educational superescalar and VLIW simulator",
5-
"type": "module",
6-
"packageManager": "[email protected]",
7-
"scripts": {
8-
"dev": "vite",
9-
"build": "tsc && vite build",
10-
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
11-
"test": "vitest",
12-
"docs": "typedoc src/index.ts --excludePrivate --mode file --theme minimal --out build/docs && opn build/docs/index.html",
13-
"docs:json": "typedoc --mode file --json build/docs/typedoc.json src/index.ts",
14-
"cov": "vitest run --coverage",
15-
"check-coverage": "nyc check-coverage --lines 70 --functions 70 --branches 70",
16-
"html-coverage": "nyc report --reporter=html",
17-
"send-coverage": "nyc report --reporter=lcov > coverage.lcov && codecov"
5+
"homepage": "https://github.com/SIMDE-ULL/SIMDE",
6+
"bugs": {
7+
"url": "https://github.com/SIMDE-ULL/SIMDE/issues"
188
},
199
"repository": {
2010
"type": "git",
21-
"url": "git+https://github.com/etsiiull/SIMDE.git"
11+
"url": "git+https://github.com/SIMDE-ULL/SIMDE.git"
2212
},
23-
"author": "Adrian Abreu Gonzalez",
24-
"license": "GPLv3",
25-
"bugs": {
26-
"url": "https://github.com/etsiiull/SIMDE/issues"
13+
"license": "GPL-3.0",
14+
"author": "The SIMDE authors",
15+
"type": "module",
16+
"scripts": {
17+
"build": "tsc && vite build",
18+
"check": "biome check --apply ./src",
19+
"dev": "vite",
20+
"docs": "typedoc src/index.ts --excludePrivate --mode file --theme minimal --out build/docs",
21+
"fmt": "biome format --write ./src",
22+
"lint": "biome lint --apply ./src",
23+
"test": "vitest --run",
24+
"test:coverage": "vitest run --coverage"
2725
},
28-
"homepage": "https://github.com/etsiiull/SIMDE",
2926
"dependencies": {
3027
"@fortawesome/fontawesome-free": "^6.5.1",
3128
"@popperjs/core": "^2.11.8",
@@ -50,22 +47,14 @@
5047
"tslib": "^2.2.0",
5148
"typescript-parsec": "^0.3.4"
5249
},
53-
"engines": {
54-
"node": ">=18"
55-
},
5650
"devDependencies": {
51+
"@biomejs/biome": "^1.6.1",
5752
"@types/node": "^20.8.9",
5853
"@types/react": "^18.2.15",
5954
"@types/react-dom": "^18.2.7",
60-
"@typescript-eslint/eslint-plugin": "^7.0.0",
61-
"@typescript-eslint/parser": "^7.0.0",
6255
"@vitejs/plugin-react": "^4.0.3",
6356
"@vitest/coverage-v8": "^1.0.0",
6457
"codecov": "^3.6.5",
65-
"eslint": "^8.45.0",
66-
"eslint-plugin-react-hooks": "^4.6.0",
67-
"eslint-plugin-react-refresh": "^0.4.3",
68-
"multiview": "3.0.1",
6958
"sass": "^1.69.5",
7059
"stylelint": "^16.0.0",
7160
"stylelint-config-standard-scss": "^13.0.0",
@@ -74,5 +63,9 @@
7463
"typescript": "^5.0.2",
7564
"vite": "^5.0.0",
7665
"vitest": "^1.0.0"
66+
},
67+
"packageManager": "[email protected]",
68+
"engines": {
69+
"node": ">=18"
7770
}
7871
}

0 commit comments

Comments
 (0)