Repository Topics Guide
Overview
This guide helps contributors select appropriate topics for their DecisionsDev repositories. Topics improve discoverability and help organize the DecisionsDev ecosystem.
🎯 Quick Start for Contributors
Step 1: Discover Existing Topics
Before adding topics to your repository, see what topics are already in use:
# List all topics currently used in DecisionsDevnode tools/list-all-topics.js# See which repositories use each topicnode tools/list-all-topics.js --verbose# Filter by patternnode tools/list-all-topics.js --pattern "product-*"
Step 2: Select Relevant Topics
Choose 3-7 topics that best describe your repository:
- Reuse existing topics whenever possible for consistency
- Select the most relevant - quality over quantity
- Use lowercase with hyphens (e.g., , notdecision-center)DecisionCenter
- Avoid redundancy - don’t add both andodm(useibm-odm)odm
Step 3: Add Topics to Your Repository
Via GitHub Web UI (Easiest)
- Go to your repository on GitHub
- Click the gear icon ⚙️ next to “About” on the right sidebar
- In the “Topics” field, add your selected topics
- Click “Save changes”
Via GitHub CLI
# Add topics one at a timegh repo edit DecisionsDev/your-repo-name --add-topic odmgh repo edit DecisionsDev/your-repo-name --add-topic dockergh repo edit DecisionsDev/your-repo-name --add-topic tutorial
📋 Most Common Topics
Based on current usage across DecisionsDev repositories:
Products (25+ repos)
- — IBM Operational Decision Manager (most used)odm
- — IBM products in generalibm
- — IBM Decision Intelligencedecision-intelligence
- — Business Automation Insightsbai
- — Cloud Pak for Business Automationcp4ba
Technologies (10+ repos)
- — Business rules enginesbusiness-rules
- — AI/ML integrationsartificial-intelligence
- — Docker containersdocker
- — Kubernetes orchestrationkubernetes
- — Java applicationsjava
- — Robotic Process Automationrpa
Types (5+ repos)
- — Step-by-step guidestutorial
- — Code samplessample
- — Integration examplesintegration
- — Utilities and toolstools
🎨 Topic Selection Examples
Example 1: ODM Docker Tutorial
Repository: A tutorial showing how to deploy ODM with Docker
Good topics:
odm, docker, tutorial, business-rules
Why: Uses existing popular topics, clearly describes content
Avoid:
ibm-odm, odmdev-docker, docker-image, dockerfiles, microservices
Why: Too many topics, includes deprecated prefixes, too specific
Example 2: Decision Center REST API Sample
Repository: Sample code for Decision Center REST API
Good topics:
odm, decision-center, sample, api, java
Why: Clear, uses existing topics, describes technology stack
Avoid:
decisioncenter, dc, rest-api, ibmodm, operational-decision-manager
Why: Inconsistent naming, abbreviations, redundant
Example 3: RPA Integration
Repository: Integration between ODM and RPA tools
Good topics:
odm, rpa, integration, automation-anywhere
Why: Describes both products and purpose
🔍 Topic Categories
Products
Use one product topic that best describes your repository:
| Topic | Description |
|---|---|
| Operational Decision Manager |
| Decision Intelligence (formerly ADS) |
| Business Automation Insights |
| Cloud Pak for Business Automation |
Technologies
Add 2–3 technology topics:
| Topic | Description |
|---|---|
| Docker containers |
| Kubernetes orchestration |
| Java applications |
| React front-end |
| Messaging with Kafka |
| Analytics / dashboards |
Purpose
Add 1–2 purpose topics:
| Topic | Description |
|---|---|
| Learning resources |
| Example code |
| Integration examples |
| Utilities |
Domain
Add relevant domain topics:
| Topic | Description |
|---|---|
| Rules engines |
| AI/ML |
| Robotic Process Automation |
| Business automation |
⚠️ Topics to Avoid
Deprecated Prefixes
❌ Don’t use:
product-*
comp-*
type-*
odmdev-*
✅ Use instead: Clean names without prefixes
Redundant Topics
❌ Don’t use both:
ibm-odm
odm
✅ Use:
odm
Inconsistent Naming
❌ Don’t use:
decisioncenter
decision-center
dc
✅ Use:
decision-center
Too Many Topics
❌ Don’t add: 10+ topics
✅ Add: 3–7 most relevant topics
🛠️ Topic Management Tools
For Repository Owners
If you need to clean up or standardize topics:
# Remove old topics (dry run first)node tools/remove-topics-from-repos.js --topics old-topic --dry-run# Replace topics (only where they exist)node tools/remove-topics-from-repos.js --topics ibm-odm --replace odm --dry-run# Apply changes (after reviewing dry-run output)node tools/remove-topics-from-repos.js --topics ibm-odm --replace odm --apply
For Organization Admins
# List all topics with usage countsnode tools/list-all-topics.js --sort-count# Find topics matching a patternnode tools/list-all-topics.js --pattern "odmdev-*"# Generate a topics reportnode tools/generate-topics-report.js
📊 Benefits of Good Topics
- Discoverability — Users find your repository more easily
- Organization — Repositories are automatically categorized
- Filtering — Users can filter by product, technology, or type
- Consistency — Standardized topics improve the ecosystem
- Analytics — Better insights into the DecisionsDev portfolio
🤝 Getting Help
Not sure which topics to use?
- Check similar repositories: node tools/list-all-topics.js --verbose
- Ask in discussions: Open a GitHub Discussion
- Review the report: node tools/generate-topics-report.js
📚 Additional Resources
Remember: When in doubt, use existing topics! Consistency is more valuable than creating new topics.