You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(docs): add comprehensive documentation and markdown linting setup
- Add new documentation files covering CI, contributing, image processing, linting, lockfile management, markdown linting, node version, and package manager
- Set up markdown linting with markdownlint-cli2 and configuration files
- Update CI workflow to include markdown linting
- Add scripts for testing CI locally
- Update README with links to new documentation
Copy file name to clipboardExpand all lines: README.md
+26-6Lines changed: 26 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ Frontend Tools Explorer is a curated collection of essential tools, libraries, a
50
50
- v22 LTS (v22.0.0 or newer, also supported v22.17.0)
51
51
- pnpm (v8.0.0 or newer)
52
52
53
-
> **Note:** This project requires specific Node.js and package manager versions. For more details, see [PACKAGE-MANAGER.md](./PACKAGE-MANAGER.md) and [NODE-VERSION.md](./NODE-VERSION.md).
53
+
> **Note:** This project requires specific Node.js and package manager versions. For more details, see [PACKAGE-MANAGER.md](./docs/PACKAGE-MANAGER.md) and [NODE-VERSION.md](./docs/NODE-VERSION.md).
54
54
55
55
### Installation
56
56
@@ -78,7 +78,7 @@ Frontend Tools Explorer is a curated collection of essential tools, libraries, a
78
78
# If needed, install the LTS version from nodejs.org
79
79
```
80
80
81
-
> **Note:** This project requires pnpm as the package manager. We recommend using Corepack (built into Node.js 20+) to manage pnpm. See [PACKAGE-MANAGER.md](./PACKAGE-MANAGER.md) for more details and troubleshooting.
81
+
> **Note:** This project requires pnpm as the package manager. We recommend using Corepack (built into Node.js 20+) to manage pnpm. See [PACKAGE-MANAGER.md](./docs/PACKAGE-MANAGER.md) for more details and troubleshooting.
82
82
83
83
3. Start the development server
84
84
@@ -109,23 +109,43 @@ To add a new frontend tool to the directory:
109
109
3. Import and add your tool to the array in `src/data/tools/index.ts`
110
110
4. Submit a pull request
111
111
112
-
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed contribution guidelines.
112
+
Please see [CONTRIBUTING.md](./docs/CONTRIBUTING.md) for detailed contribution guidelines.
113
+
114
+
## 📚 Documentation
115
+
116
+
All project documentation is available in the [docs](./docs) directory. This includes:
This project uses GitHub Actions for continuous integration to ensure code quality. The CI workflow automatically runs linting and formatting checks on every pull request and push to the main branch.
117
130
118
-
For more details on the CI setup, troubleshooting common issues, and best practices, see [CI.md](./CI.md).
131
+
You can test the CI workflow locally before pushing changes:
132
+
133
+
```sh
134
+
# Run the CI test script
135
+
./scripts/test-ci.sh
136
+
```
137
+
138
+
For more details on the CI setup, troubleshooting common issues, and best practices, see [CI.md](./docs/CI.md).
119
139
120
140
### Dependency Management
121
141
122
-
This project uses pnpm for dependency management and requires proper lockfile handling, especially in CI environments. For guidance on managing the lockfile and resolving common issues, see [LOCKFILE-MANAGEMENT.md](./LOCKFILE-MANAGEMENT.md).
142
+
This project uses pnpm for dependency management and requires proper lockfile handling, especially in CI environments. For guidance on managing the lockfile and resolving common issues, see [LOCKFILE-MANAGEMENT.md](./docs/LOCKFILE-MANAGEMENT.md).
123
143
124
144
## 🖼️ Image Processing
125
145
126
146
This project uses Astro's built-in image optimization with Sharp for processing images. Sharp is required for both local development and Vercel deployment.
127
147
128
-
For more details on image processing configuration, troubleshooting, and best practices, see [IMAGE-PROCESSING.md](./IMAGE-PROCESSING.md).
148
+
For more details on image processing configuration, troubleshooting, and best practices, see [IMAGE-PROCESSING.md](./docs/IMAGE-PROCESSING.md).
@@ -61,13 +62,15 @@ The lint-staged configuration is in `.lintstagedrc.json`:
61
62
```json
62
63
{
63
64
"*.{js,jsx,ts,tsx}": ["biome check --write", "biome format --write"],
64
-
"*.astro": ["biome check --write", "biome format --write"]
65
+
"*.astro": ["biome check --write", "biome format --write"],
66
+
"*.md": ["markdownlint-cli2 --fix"]
65
67
}
66
68
```
67
69
68
70
This ensures that:
69
71
- JavaScript and TypeScript files are linted and formatted
70
72
- Astro files are linted and formatted (to the extent supported by Biome)
73
+
- Markdown files are linted and automatically fixed when possible
71
74
72
75
### Benefits
73
76
@@ -84,25 +87,55 @@ This project uses **Biome** as the linting and formatting tool because:
84
87
3. It offers a Prettier-compatible formatter
85
88
4. It provides excellent performance for JavaScript and TypeScript projects
86
89
90
+
## Markdown Linting with markdownlint-cli2
91
+
92
+
In addition to Biome, this project uses [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) to lint and format Markdown documentation files.
93
+
94
+
### Features
95
+
96
+
-**Consistent formatting** across all markdown files
97
+
-**Automated fixes** for common issues
98
+
-**Pre-commit checks** to ensure documentation quality
99
+
-**CI integration** to verify documentation in pull requests
100
+
101
+
### Usage
102
+
103
+
```bash
104
+
# Check markdown files for issues
105
+
pnpm lint:md
106
+
107
+
# Fix markdown issues automatically where possible
108
+
pnpm lint:md:fix
109
+
```
110
+
111
+
For more details on the markdown linting setup, see [MARKDOWN-LINTING.md](./MARKDOWN-LINTING.md).
112
+
87
113
## Installation
88
114
89
-
Biome is already installed as a dev dependency in this project. You can use it directly through the npm scripts or via the `biome` command:
115
+
Biome and markdownlint-cli2 are already installed as dev dependencies in this project. You can use them directly through the npm scripts or via their respective commands:
90
116
91
117
```bash
92
-
# Using npm scripts
118
+
# Using npm scripts for Biome
93
119
pnpm lint
94
120
pnpm format
95
121
pnpm check
96
122
123
+
# Using npm scripts for markdownlint
124
+
pnpm lint:md
125
+
pnpm lint:md:fix
126
+
97
127
# Or directly
98
128
pnpm biome check .
99
129
pnpm biome format .
130
+
pnpm markdownlint-cli2 "**/*.md"
131
+
pnpm markdownlint-cli2 --fix "**/*.md"
100
132
```
101
133
102
134
## Editor Integration
103
135
104
-
Biome offers a VS Code extension for editor integration:
136
+
Both Biome and markdownlint offer VS Code extensions for editor integration:
105
137
106
138
-[Biome VS Code Extension](https://marketplace.visualstudio.com/items?itemName=biomejs.biome)
139
+
-[markdownlint VS Code Extension](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
107
140
108
-
The project's `.vscode/settings.json` is already configured to use Biome when it's installed.
141
+
The project's `.vscode/settings.json` is already configured to use Biome when it's installed. The markdownlint extension will automatically use the project's `.markdownlint.json` configuration.
0 commit comments