Skip to content

Commit 4d4e330

Browse files
committed
feat: initial commit to github
0 parents  commit 4d4e330

19 files changed

Lines changed: 2188 additions & 0 deletions

.editorconfig

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# EditorConfig helps maintain consistent coding styles
2+
# https://editorconfig.org/
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
indent_style = space
12+
indent_size = 4
13+
14+
[*.{rs,toml}]
15+
indent_size = 4
16+
17+
[*.{yml,yaml}]
18+
indent_size = 2
19+
20+
[*.md]
21+
trim_trailing_whitespace = false
22+
23+
[*.json]
24+
indent_size = 2
25+
26+
[Makefile]
27+
indent_style = tab

.gitattributes

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Git attributes file
2+
# Controls how Git handles line endings and file types
3+
# https://git-scm.com/docs/gitattributes
4+
5+
# Default behavior: normalize line endings on checkin, leave them unchanged on checkout
6+
* text=auto
7+
8+
# Rust source files
9+
*.rs text
10+
*.toml text
11+
12+
# Configuration files
13+
*.yml text
14+
*.yaml text
15+
*.json text
16+
*.xml text
17+
*.md text
18+
*.txt text
19+
20+
# Shell scripts (enforce LF)
21+
*.sh text eol=lf
22+
*.bash text eol=lf
23+
24+
# Windows batch files (enforce CRLF)
25+
*.bat text eol=crlf
26+
*.cmd text eol=crlf
27+
28+
# Binary files
29+
*.exe binary
30+
*.dll binary
31+
*.so binary
32+
*.dylib binary
33+
*.a binary
34+
*.lib binary
35+
*.pdb binary
36+
37+
# Images
38+
*.png binary
39+
*.jpg binary
40+
*.jpeg binary
41+
*.gif binary
42+
*.ico binary
43+
*.svg text
44+
45+
# Archives
46+
*.zip binary
47+
*.tar binary
48+
*.gz binary
49+
*.7z binary
50+
*.rar binary
51+
52+
# Lock files should always use LF
53+
Cargo.lock text eol=lf
54+
package-lock.json text eol=lf
55+
yarn.lock text eol=lf
56+
57+
# Documentation
58+
*.pdf binary
59+
60+
# IDE files
61+
*.code-workspace text
62+
63+
# Fuzz corpus and artifacts (treat as binary to avoid corruption)
64+
fuzz/corpus/** binary
65+
fuzz/artifacts/** binary
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
name: Bug Report
2+
description: Create a report to help us improve dotscope
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this bug report! Please provide as much detail as possible.
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Bug Description
15+
description: A clear and concise description of what the bug is.
16+
placeholder: Describe the bug...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: reproduction
22+
attributes:
23+
label: Steps to Reproduce
24+
description: Steps to reproduce the behavior
25+
placeholder: |
26+
1. Load assembly with '...'
27+
2. Call method '...'
28+
3. See error
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: Expected Behavior
36+
description: A clear and concise description of what you expected to happen.
37+
placeholder: What should have happened?
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: actual
43+
attributes:
44+
label: Actual Behavior
45+
description: A clear and concise description of what actually happened.
46+
placeholder: What actually happened?
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: sample-file
52+
attributes:
53+
label: Sample File
54+
description: |
55+
If possible, please provide a sample .NET assembly file that reproduces the issue.
56+
You can attach files by dragging them into this text area.
57+
If the file contains sensitive information, please create a minimal test case.
58+
placeholder: Attach sample file or describe how to obtain one...
59+
60+
- type: textarea
61+
id: code-sample
62+
attributes:
63+
label: Code Sample
64+
description: Please provide a minimal code sample that reproduces the issue.
65+
render: rust
66+
placeholder: |
67+
use dotscope::CilObject;
68+
69+
fn main() -> Result<(), Box<dyn std::error::Error>> {
70+
let assembly = CilObject::from_file("sample.dll".as_ref())?;
71+
// ... code that triggers the bug
72+
Ok(())
73+
}
74+
validations:
75+
required: true
76+
77+
- type: textarea
78+
id: error-output
79+
attributes:
80+
label: Error Output
81+
description: If applicable, paste the full error message or stack trace.
82+
render: text
83+
placeholder: Paste error output here...
84+
85+
- type: input
86+
id: dotscope-version
87+
attributes:
88+
label: dotscope Version
89+
description: What version of dotscope are you using?
90+
placeholder: "0.1.0"
91+
validations:
92+
required: true
93+
94+
- type: input
95+
id: rust-version
96+
attributes:
97+
label: Rust Version
98+
description: What version of Rust are you using?
99+
placeholder: "1.70.0"
100+
validations:
101+
required: true
102+
103+
- type: dropdown
104+
id: operating-system
105+
attributes:
106+
label: Operating System
107+
description: What operating system are you using?
108+
options:
109+
- Windows
110+
- macOS
111+
- Linux (Ubuntu)
112+
- Linux (Other)
113+
- Other
114+
validations:
115+
required: true
116+
117+
- type: input
118+
id: os-version
119+
attributes:
120+
label: OS Version
121+
description: What version of your operating system?
122+
placeholder: "Windows 11, macOS 13.0, Ubuntu 22.04, etc."
123+
validations:
124+
required: true
125+
126+
- type: dropdown
127+
id: architecture
128+
attributes:
129+
label: Architecture
130+
description: What architecture are you running on?
131+
options:
132+
- x86_64
133+
- aarch64 (ARM64)
134+
- Other
135+
validations:
136+
required: true
137+
138+
- type: textarea
139+
id: additional-context
140+
attributes:
141+
label: Additional Context
142+
description: Add any other context about the problem here.
143+
placeholder: Any additional information that might help...
144+
145+
- type: checkboxes
146+
id: terms
147+
attributes:
148+
label: Checklist
149+
description: Please confirm the following
150+
options:
151+
- label: I have searched existing issues to make sure this is not a duplicate
152+
required: true
153+
- label: I have provided a minimal code sample that reproduces the issue
154+
required: true
155+
- label: I am using the latest version of dotscope
156+
required: false
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
name: Feature Request
2+
description: Suggest an idea for dotscope
3+
title: "[Feature]: "
4+
labels: ["enhancement", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting a new feature! Please provide as much detail as possible.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem Description
15+
description: Is your feature request related to a problem? Please describe.
16+
placeholder: I'm always frustrated when...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Proposed Solution
24+
description: Describe the solution you'd like to see.
25+
placeholder: I would like to be able to...
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternative Solutions
33+
description: Describe any alternative solutions or features you've considered.
34+
placeholder: Alternatively, we could...
35+
36+
- type: dropdown
37+
id: category
38+
attributes:
39+
label: Feature Category
40+
description: What category does this feature belong to?
41+
options:
42+
- API Enhancement
43+
- Performance Improvement
44+
- New Analysis Feature
45+
- Disassembler Enhancement
46+
- Metadata Parsing
47+
- Error Handling
48+
- Documentation
49+
- Developer Experience
50+
- Other
51+
validations:
52+
required: true
53+
54+
- type: dropdown
55+
id: complexity
56+
attributes:
57+
label: Estimated Complexity
58+
description: How complex do you think this feature would be to implement?
59+
options:
60+
- Low (Minor API addition)
61+
- Medium (Moderate implementation)
62+
- High (Major feature addition)
63+
- Unknown
64+
validations:
65+
required: true
66+
67+
- type: textarea
68+
id: use-case
69+
attributes:
70+
label: Use Case
71+
description: Describe your specific use case for this feature.
72+
placeholder: I need this feature because...
73+
validations:
74+
required: true
75+
76+
- type: textarea
77+
id: code-example
78+
attributes:
79+
label: Example Usage
80+
description: Show how you'd like to use this feature with code examples.
81+
render: rust
82+
placeholder: |
83+
use dotscope::CilObject;
84+
85+
fn main() -> Result<(), Box<dyn std::error::Error>> {
86+
let assembly = CilObject::from_file("sample.dll".as_ref())?;
87+
// Example of how the new feature would be used
88+
Ok(())
89+
}
90+
91+
- type: dropdown
92+
id: priority
93+
attributes:
94+
label: Priority
95+
description: How important is this feature to you?
96+
options:
97+
- Low (Nice to have)
98+
- Medium (Would be helpful)
99+
- High (Need it for my project)
100+
- Critical (Blocking my work)
101+
validations:
102+
required: true
103+
104+
- type: textarea
105+
id: additional-context
106+
attributes:
107+
label: Additional Context
108+
description: Add any other context, screenshots, or examples about the feature request here.
109+
placeholder: Any additional information...
110+
111+
- type: checkboxes
112+
id: terms
113+
attributes:
114+
label: Checklist
115+
description: Please confirm the following
116+
options:
117+
- label: I have searched existing issues to make sure this feature hasn't been requested already
118+
required: true
119+
- label: I have provided a clear description of the problem and proposed solution
120+
required: true
121+
- label: I understand this is a feature request and not a bug report
122+
required: true

0 commit comments

Comments
 (0)