Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/DISCUSSION_TEMPLATE/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Discussion Templates

This directory contains GitHub Discussion templates for the DeePMD-kit repository. These templates help guide users to provide comprehensive information when starting discussions, particularly emphasizing the importance of reproducible examples.

## Available Templates

### 1. General Question (`general-question.yml`)
For general questions about DeePMD-kit usage, features, or concepts. Use this when you have a straightforward question that doesn't require extensive troubleshooting.

### 2. Usage Help (`usage-help.yml`)
For detailed help with specific DeePMD-kit usage scenarios. **This template strongly emphasizes providing reproducible examples** to help community members provide effective assistance.

### 3. Ideas and Suggestions (`ideas-suggestions.yml`)
For proposing new features, improvements, or enhancements to DeePMD-kit. Includes sections for use cases, related work, and implementation thoughts.

### 4. Show and Tell (`show-and-tell.yml`)
For sharing projects, research, or achievements using DeePMD-kit. Encourages sharing reproducible information and lessons learned.

### 5. Potential Bug Discussion (`potential-bug.yml`)
For discussing behavior that might be a bug before creating a formal issue. **Emphasizes providing complete reproducible examples** to help confirm whether the behavior is indeed a bug.

## Key Features

All templates are designed to:
- **Encourage reproducible examples**: Each template emphasizes the importance of providing complete, minimal examples that others can reproduce
- Follow the repository's existing style and conventions
- Include appropriate labels for categorization
- Provide clear guidance on what information to include
- Help users structure their discussions effectively

## Usage

When users start a new discussion, they will be presented with these template options. The templates guide them to provide:

- Clear problem descriptions
- Version information
- Reproducible examples with:
- Input files
- Configuration files
- Commands run
- Expected vs actual behavior
- Complete error messages

This addresses the issue mentioned in #4506 where "many discussions do not give reproduced examples."
80 changes: 80 additions & 0 deletions .github/DISCUSSION_TEMPLATE/general-question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: General Question
description: Ask a general question about DeePMD-kit usage, features, or concepts
labels: ["question"]
body:
- type: textarea
id: summary
attributes:
label: Summary
description: Please provide a clear and concise description of your question.
placeholder: What would you like to know about DeePMD-kit?
value:
validations:
required: true
- type: input
id: version
attributes:
label: DeePMD-kit Version
description: "What version of DeePMD-kit are you using? Run `dp --version` to check."
placeholder: "e.g., 2.2.7"
validations:
required: false
- type: input
id: backend-version
attributes:
label: Backend and Version
description: "Which backend are you using and what version? (e.g., TensorFlow v2.15.0, PyTorch v2.0.1)"
placeholder: "e.g., TensorFlow v2.15.0"
validations:
required: false
- type: textarea
id: details
attributes:
label: Detailed Description
description: |
Please provide more details about your question. If you're having trouble with specific functionality, please include:
- What you're trying to achieve
- What you've tried so far
- Any relevant configuration or setup details
placeholder: Provide additional context that would help others understand and answer your question.
value:
validations:
required: true
- type: textarea
id: reproducible-example
attributes:
label: Reproducible Example (if applicable)
description: |
If your question relates to specific code, input files, or commands, please provide a minimal reproducible example.
This helps others understand your issue and provide better assistance.

**Please include:**
- Input files (minimal example)
- Commands you're running
- Configuration files
- Expected vs actual behavior
placeholder: |
```bash
# Your commands here
dp train input.json
```

```json
// Your configuration here
{
"model": {...}
}
```
value:
validations:
required: false
- type: textarea
id: additional-info
attributes:
label: Additional Information
description: |
Any additional information, links to documentation you've consulted, or other relevant details.
placeholder: Links, references, or other context that might be helpful.
value:
validations:
required: false
100 changes: 100 additions & 0 deletions .github/DISCUSSION_TEMPLATE/ideas-suggestions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Ideas and Suggestions
description: Share ideas for new features, improvements, or enhancements to DeePMD-kit
labels: ["idea", "enhancement"]
body:
- type: textarea
id: summary
attributes:
label: Summary
description: Brief summary of your idea or suggestion
placeholder: What's your idea for improving DeePMD-kit?
value:
validations:
required: true
- type: dropdown
id: category
attributes:
label: Category
description: What area does your suggestion relate to?
options:
- New feature
- Performance improvement
- User experience enhancement
- Documentation improvement
- API/Interface improvement
- Integration with other tools
- Other (specify in description)
validations:
required: true
- type: textarea
id: detailed-description
attributes:
label: Detailed Description
description: |
Provide a detailed description of your idea or suggestion.
Include:
- What problem does this solve?
- How would this benefit users?
- Are there any alternatives you've considered?
placeholder: Describe your idea in detail...
value:
validations:
required: true
- type: textarea
id: use-case
attributes:
label: Use Case / Example
description: |
Provide a concrete use case or example of how this feature would be used.
If applicable, include:
- Example code or configuration
- Workflow description
- Expected input/output
placeholder: |
**Example usage:**
```python
# How users might use this feature
```

**Use case:**
This would help users who...
value:
validations:
required: false
- type: textarea
id: related-work
attributes:
label: Related Work / References
description: |
Are there similar features in other tools, papers, or projects that inspired this idea?
Include links to relevant resources, publications, or implementations.
placeholder: |
- Similar feature in [other tool]: [link]
- Relevant paper: [citation/link]
- Related discussion: [link]
value:
validations:
required: false
- type: textarea
id: implementation-thoughts
attributes:
label: Implementation Thoughts
description: |
If you have ideas about how this might be implemented, share them here.
This could include:
- Potential approaches
- Technical considerations
- Whether you'd be interested in contributing to the implementation
placeholder: Any thoughts on how this could be implemented...
value:
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Any other information that would be helpful for understanding or evaluating this suggestion.
placeholder: Additional details, context, or considerations...
value:
validations:
required: false
148 changes: 148 additions & 0 deletions .github/DISCUSSION_TEMPLATE/potential-bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Potential Bug Discussion
description: Discuss behavior that might be a bug before creating a formal issue - include reproducible examples
labels: ["potential bug", "question"]
body:
- type: textarea
id: summary
attributes:
label: What seems to be wrong?
description: |
Describe the behavior you think might be a bug.
Use this template when you're not sure if something is a bug or if you need help confirming the issue before creating a formal bug report.
placeholder: Describe what you think might be wrong...
value:
validations:
required: true
- type: input
id: version
attributes:
label: DeePMD-kit Version
description: "Run `dp --version` to check."
placeholder: "e.g., 2.2.7"
validations:
required: true
- type: input
id: backend-version
attributes:
label: Backend and Version
description: "Which backend version? (shown when running DeePMD-kit)"
placeholder: "e.g., TensorFlow v2.15.0"
validations:
required: true
- type: dropdown
id: installation-method
attributes:
label: How did you install DeePMD-kit?
options:
- conda
- pip
- docker
- Built from source
- Offline packages
- Others (specify below)
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: What did you expect to happen?
description: Describe what you think should happen.
placeholder: I expected...
value:
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: What actually happened?
description: Describe what you observed instead.
placeholder: Instead, what happened was...
value:
validations:
required: true
- type: textarea
id: reproducible-example
attributes:
label: Reproducible Example
description: |
**This is crucial for confirming if this is a bug!**

Please provide a complete, minimal example that reproduces the issue:
- Input files (attach small files or paste relevant content)
- Exact commands you ran
- Configuration files
- Complete error messages or unexpected output
- System information if relevant

The goal is to provide enough information that others can reproduce the exact same behavior.
placeholder: |
**Files and setup:**
```
# Directory structure
myproject/
├── input.json
├── data/
│ ├── type_map.raw
│ └── set.000/
│ ├── coord.npy
│ └── energy.npy
```

**Configuration (input.json):**
```json
{
"model": {
// your configuration
}
}
```

**Commands:**
```bash
dp train input.json
```

**Output/Error:**
```
# Complete error message or unexpected output
```

**System info:**
- OS: Ubuntu 20.04
- Python: 3.9.7
- Hardware: [relevant specs]
value:
validations:
required: true
- type: textarea
id: investigation
attributes:
label: What have you tried?
description: |
What steps have you taken to investigate or work around this issue?
- Different configurations you've tested
- Workarounds you've attempted
- Similar issues you've found online
- Other versions you've tested
placeholder: |
I tried:
1. Changing the configuration to...
2. Testing with a different dataset...
3. Searching for similar issues...
value:
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: |
Any other information that might be relevant:
- When did this behavior start?
- Does it happen consistently?
- Any relevant environmental factors?
- Links to related discussions or issues?
placeholder: Additional context that might be helpful...
value:
validations:
required: false
Loading