Skip to content

Commit e786252

Browse files
committed
update topics guide
1 parent e9c31ac commit e786252

3 files changed

Lines changed: 242 additions & 2 deletions

File tree

β€Žsrc/data/nav-items.yamlβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
- title: GitHub Organization
2525
path: https://github.com/DecisionsDev
2626
- title: Topics Guide
27-
path: https://github.com/DecisionsDev/decisionsdev.github.io/blob/main/TOPICS_GUIDE.md
27+
path: /topics-guide
2828

2929
# Made with Bob

β€Žsrc/pages/repositories.mdxβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ If you maintain a repository in DecisionsDev, please add relevant topics:
4343
2. **Choose 3-7 topics** - Select the most relevant ones
4444
3. **Add via GitHub UI** - Click the gear icon βš™οΈ next to "About" on your repository page
4545

46-
See our [Topics Guide](https://github.com/DecisionsDev/decisionsdev.github.io/blob/main/docs/TOPICS_GUIDE.md) for detailed guidance.
46+
See our [Topics Guide](/topics-guide) for detailed guidance.
4747

4848
### Resources
4949

β€Žsrc/pages/topics-guide.mdxβ€Ž

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
---
2+
title: Repository Topics Guide
3+
description: How to select and manage topics for DecisionsDev repositories to improve discoverability and organization
4+
---
5+
6+
## Overview
7+
8+
This guide helps contributors select appropriate topics for their DecisionsDev repositories. Topics improve discoverability and help organize the DecisionsDev ecosystem.
9+
10+
## 🎯 Quick Start for Contributors
11+
12+
### Step 1: Discover Existing Topics
13+
14+
Before adding topics to your repository, see what topics are already in use:
15+
16+
```bash
17+
# List all topics currently used in DecisionsDev
18+
node tools/list-all-topics.js
19+
20+
# See which repositories use each topic
21+
node tools/list-all-topics.js --verbose
22+
23+
# Filter by pattern
24+
node tools/list-all-topics.js --pattern "product-*"
25+
```
26+
27+
### Step 2: Select Relevant Topics
28+
29+
**Choose 3-7 topics** that best describe your repository:
30+
31+
1. **Reuse existing topics** whenever possible for consistency
32+
2. **Select the most relevant** - quality over quantity
33+
3. **Use lowercase with hyphens** (e.g., `decision-center`, not `DecisionCenter`)
34+
4. **Avoid redundancy** - don't add both `odm` and `ibm-odm` (use `odm`)
35+
36+
### Step 3: Add Topics to Your Repository
37+
38+
#### Via GitHub Web UI (Easiest)
39+
40+
1. Go to your repository on GitHub
41+
2. Click the gear icon βš™οΈ next to "About" on the right sidebar
42+
3. In the "Topics" field, add your selected topics
43+
4. Click "Save changes"
44+
45+
#### Via GitHub CLI
46+
47+
```bash
48+
# Add topics one at a time
49+
gh repo edit DecisionsDev/your-repo-name --add-topic odm
50+
gh repo edit DecisionsDev/your-repo-name --add-topic docker
51+
gh repo edit DecisionsDev/your-repo-name --add-topic tutorial
52+
```
53+
54+
## πŸ“‹ Most Common Topics
55+
56+
Based on current usage across DecisionsDev repositories:
57+
58+
### Products (25+ repos)
59+
- **`odm`** β€” IBM Operational Decision Manager (most used)
60+
- **`ibm`** β€” IBM products in general
61+
- **`decision-intelligence`** β€” IBM Decision Intelligence
62+
- **`bai`** β€” Business Automation Insights
63+
- **`cp4ba`** β€” Cloud Pak for Business Automation
64+
65+
### Technologies (10+ repos)
66+
- **`business-rules`** β€” Business rules engines
67+
- **`artificial-intelligence`** β€” AI/ML integrations
68+
- **`docker`** β€” Docker containers
69+
- **`kubernetes`** β€” Kubernetes orchestration
70+
- **`java`** β€” Java applications
71+
- **`rpa`** β€” Robotic Process Automation
72+
73+
### Types (5+ repos)
74+
- **`tutorial`** β€” Step-by-step guides
75+
- **`sample`** β€” Code samples
76+
- **`integration`** β€” Integration examples
77+
- **`tools`** β€” Utilities and tools
78+
79+
## 🎨 Topic Selection Examples
80+
81+
### Example 1: ODM Docker Tutorial
82+
**Repository**: A tutorial showing how to deploy ODM with Docker
83+
84+
**Good topics**:
85+
```
86+
odm, docker, tutorial, business-rules
87+
```
88+
**Why**: Uses existing popular topics, clearly describes content
89+
90+
**Avoid**:
91+
```
92+
ibm-odm, odmdev-docker, docker-image, dockerfiles, microservices
93+
```
94+
**Why**: Too many topics, includes deprecated prefixes, too specific
95+
96+
---
97+
98+
### Example 2: Decision Center REST API Sample
99+
**Repository**: Sample code for Decision Center REST API
100+
101+
**Good topics**:
102+
```
103+
odm, decision-center, sample, api, java
104+
```
105+
**Why**: Clear, uses existing topics, describes technology stack
106+
107+
**Avoid**:
108+
```
109+
decisioncenter, dc, rest-api, ibmodm, operational-decision-manager
110+
```
111+
**Why**: Inconsistent naming, abbreviations, redundant
112+
113+
---
114+
115+
### Example 3: RPA Integration
116+
**Repository**: Integration between ODM and RPA tools
117+
118+
**Good topics**:
119+
```
120+
odm, rpa, integration, automation-anywhere
121+
```
122+
**Why**: Describes both products and purpose
123+
124+
## πŸ” Topic Categories
125+
126+
### Products
127+
Use **one** product topic that best describes your repository:
128+
129+
| Topic | Description |
130+
|-------|-------------|
131+
| `odm` | Operational Decision Manager |
132+
| `decision-intelligence` | Decision Intelligence (formerly ADS) |
133+
| `bai` | Business Automation Insights |
134+
| `cp4ba` | Cloud Pak for Business Automation |
135+
136+
### Technologies
137+
Add 2–3 technology topics:
138+
139+
| Topic | Description |
140+
|-------|-------------|
141+
| `docker` | Docker containers |
142+
| `kubernetes` | Kubernetes orchestration |
143+
| `java` | Java applications |
144+
| `react` | React front-end |
145+
| `kafka` | Messaging with Kafka |
146+
| `analytics` | Analytics / dashboards |
147+
148+
### Purpose
149+
Add 1–2 purpose topics:
150+
151+
| Topic | Description |
152+
|-------|-------------|
153+
| `tutorial` | Learning resources |
154+
| `sample` | Example code |
155+
| `integration` | Integration examples |
156+
| `tools` | Utilities |
157+
158+
### Domain
159+
Add relevant domain topics:
160+
161+
| Topic | Description |
162+
|-------|-------------|
163+
| `business-rules` | Rules engines |
164+
| `artificial-intelligence` | AI/ML |
165+
| `rpa` | Robotic Process Automation |
166+
| `business-automation` | Business automation |
167+
168+
## ⚠️ Topics to Avoid
169+
170+
### Deprecated Prefixes
171+
❌ Don't use: `product-*`, `comp-*`, `type-*`, `odmdev-*`
172+
βœ… Use instead: Clean names without prefixes
173+
174+
### Redundant Topics
175+
❌ Don't use both: `ibm-odm` AND `odm`
176+
βœ… Use: `odm` (simpler is better)
177+
178+
### Inconsistent Naming
179+
❌ Don't use: `decisioncenter`, `decision-center`, `dc`
180+
βœ… Use: `decision-center` (check existing usage first)
181+
182+
### Too Many Topics
183+
❌ Don't add: 10+ topics
184+
βœ… Add: 3–7 most relevant topics
185+
186+
## πŸ› οΈ Topic Management Tools
187+
188+
### For Repository Owners
189+
190+
If you need to clean up or standardize topics:
191+
192+
```bash
193+
# Remove old topics (dry run first)
194+
node tools/remove-topics-from-repos.js --topics old-topic --dry-run
195+
196+
# Replace topics (only where they exist)
197+
node tools/remove-topics-from-repos.js --topics ibm-odm --replace odm --dry-run
198+
199+
# Apply changes (after reviewing dry-run output)
200+
node tools/remove-topics-from-repos.js --topics ibm-odm --replace odm --apply
201+
```
202+
203+
### For Organization Admins
204+
205+
```bash
206+
# List all topics with usage counts
207+
node tools/list-all-topics.js --sort-count
208+
209+
# Find topics matching a pattern
210+
node tools/list-all-topics.js --pattern "odmdev-*"
211+
212+
# Generate a topics report
213+
node tools/generate-topics-report.js
214+
```
215+
216+
## πŸ“Š Benefits of Good Topics
217+
218+
1. **Discoverability** β€” Users find your repository more easily
219+
2. **Organization** β€” Repositories are automatically categorized
220+
3. **Filtering** β€” Users can filter by product, technology, or type
221+
4. **Consistency** β€” Standardized topics improve the ecosystem
222+
5. **Analytics** β€” Better insights into the DecisionsDev portfolio
223+
224+
## 🀝 Getting Help
225+
226+
Not sure which topics to use?
227+
228+
1. **Check similar repositories**: `node tools/list-all-topics.js --verbose`
229+
2. **Ask in discussions**: Open a [GitHub Discussion](https://github.com/DecisionsDev/decisionsdev.github.io/discussions)
230+
3. **Review the report**: `node tools/generate-topics-report.js`
231+
232+
## πŸ“š Additional Resources
233+
234+
- [GitHub Organization](https://github.com/DecisionsDev)
235+
- [All Repositories](/repositories)
236+
- [Contributing Guidelines](https://github.com/DecisionsDev/.github)
237+
238+
---
239+
240+
> **Remember**: When in doubt, use existing topics! Consistency is more valuable than creating new topics.

0 commit comments

Comments
Β (0)