https://github.com/azinit/archpolisher
🍰 Architecture analyze toolkit
https://github.com/azinit/archpolisher
abstractness clean-architecture clustering instability software-design
Last synced: 3 months ago
JSON representation
🍰 Architecture analyze toolkit
- Host: GitHub
- URL: https://github.com/azinit/archpolisher
- Owner: azinit
- Created: 2022-06-12T22:10:24.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-06-21T20:33:40.000Z (almost 3 years ago)
- Last Synced: 2023-09-18T01:54:21.239Z (over 1 year ago)
- Topics: abstractness, clean-architecture, clustering, instability, software-design
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/archpolisher
- Size: 420 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [🍰 archpolisher](https://www.npmjs.com/package/archpolisher)
> `WIP:` At the moment at work - **use carefully**
>
> (C) KPFU ITIS diploma work 2022**Architecture analyze toolkit**
- calculate architectural metrics (Instability & Abstractness)
- clusterize modules and search architectural issues
- provides interactive UI with issues details
## Get Started
1. Setup user config `.archpolisherrc`
```js
{
/** modules | files */
"strategy": "modules",
/** Analysis options (files filter, module graph rollout depth) */
"analyzer": {
"extensions": ["tsx", "ts", "jsx", "js"],
"abstractnessDepth": 5,
"root": "./src/index.ts",
},
/** Clustering options (neares neighbours num and neighbours nums) */
"clustering": {
"neighNum": 1,
"neighRadius": 0.05
"spread": 0.00,
"withFSDist": true,
},
/** Refactor options (dists, ui) */
"refactorer": {
"onlyIssues": false,
"minDist": 1,
"minDiff": 3,
},
}
```2. Run toolkit
```sh
$ npx archpolisher
```