Skip to content

Commit afaec31

Browse files
committed
feat: add contrinute guide
1 parent c7d10dd commit afaec31

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

CONTRIBUTING.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# How to Add a New Tool
2+
3+
This guide explains how to add a new Android tool to the Awesome Android Tooling collection.
4+
5+
## Prerequisites
6+
7+
Before you begin, make sure you have:
8+
9+
- Git installed on your machine
10+
- A GitHub account
11+
- Basic knowledge of JSON format
12+
- Forked the repository and cloned it locally
13+
14+
## Adding a New Tool
15+
16+
You can add a new tool to the collection by following these steps:
17+
18+
### Option 1: Direct Pull Request (Simple Method)
19+
20+
1. **Fork the repository** if you haven't already
21+
2. **Create a new branch** for your addition
22+
```bash
23+
git checkout -b add-your-tool-name
24+
```
25+
3. **Use the "Submit Tool" button** on the website or submit a GitHub issue with the tool information
26+
4. Alternatively, you can **directly edit** the data file
27+
28+
### Option 2: Adding to Individual JSON Files (Recommended)
29+
30+
1. **Create a new JSON file** in the `data` directory with a filename based on your tool name:
31+
```bash
32+
cd data
33+
touch your-tool-name.json
34+
```
35+
36+
2. **Add the tool information** using the following format:
37+
```json
38+
{
39+
"name": "Your Tool Name",
40+
"description": "A detailed description of your tool explaining what it does and why it's useful for Android development. Aim for 1-3 sentences that clearly explain the purpose and value.",
41+
"link": "https://link-to-official-documentation-or-github-repo",
42+
"tags": [
43+
"relevant-tag-1",
44+
"relevant-tag-2",
45+
"relevant-tag-3",
46+
"relevant-tag-4"
47+
]
48+
}
49+
```
50+
51+
3. **Validate your JSON file** to ensure it's correctly formatted:
52+
```bash
53+
npm run validate
54+
# or
55+
bun run validate
56+
```
57+
58+
4. **Generate the combined data file** by running:
59+
```bash
60+
npm run merge
61+
# or
62+
bun run merge
63+
```
64+
65+
## Guidelines for Tool Submissions
66+
67+
### Required Fields
68+
69+
Each tool entry must include:
70+
71+
- **name**: The official name of the tool
72+
- **description**: A clear, concise description (10-300 characters)
73+
- **link**: URL to the official documentation or repository
74+
- **tags**: At least one descriptive tag (see existing tags below)
75+
76+
### Common Tags
77+
78+
Choose from these existing tags or add new ones when appropriate:
79+
80+
- **Tool Types**: `command-line`, `android-studio`, `jetpack-compose`
81+
- **Functionality**: `debugging`, `testing`, `profiling`, `analysis`
82+
- **Focus Areas**: `ui`, `performance`, `optimization`, `development`
83+
84+
### Best Practices
85+
86+
- Use clear, descriptive names that match the tool's official name
87+
- Provide concise but informative descriptions
88+
- Include a direct link to the official documentation whenever possible
89+
- Select relevant tags that accurately categorize the tool
90+
- Check that your tool isn't already in the collection
91+
92+
## Submitting Your Addition
93+
94+
1. **Commit your changes**:
95+
```bash
96+
git add .
97+
git commit -m "Add [Your Tool Name]"
98+
```
99+
100+
2. **Push to your fork**:
101+
```bash
102+
git push origin add-your-tool-name
103+
```
104+
105+
3. **Create a pull request** to the main repository
106+
107+
4. **Wait for review** - maintainers will review your submission and may request changes
108+
109+
## Example Submission
110+
111+
Here's an example of a well-formatted tool submission:
112+
113+
```json
114+
{
115+
"name": "App Inspector",
116+
"description": "App Inspector allows you to examine the component hierarchy and properties of your Android app at runtime, helping you debug layout issues and understand how your UI components interact.",
117+
"link": "https://developer.android.com/example-tool",
118+
"tags": [
119+
"android-studio",
120+
"debugging",
121+
"ui",
122+
"inspection"
123+
]
124+
}
125+
```
126+
127+
---
128+
129+
Thank you for contributing to Awesome Android Tooling! Your submissions help make this resource more valuable for the entire Android development community.

0 commit comments

Comments
 (0)