11_contributing.md

Contributing to SemiDevKit

Thank you for your interest in contributing to SemiDevKit!
This project integrates semiconductor device physics, compact modeling, reliability analysis,
and physical design flows. High-quality contributions are welcome.


1. How to Contribute

There are several ways to contribute:

✔ 1. Improve documentation

✔ 2. Submit bug reports

Report issues here:
https://github.com/Samizo-AITL/SemiDevKit/issues

Include:

✔ 3. Add new features

Examples:

✔ 4. Improve code quality


2. Contribution Workflow

Follow this process when making a contribution:

Step 1 — Fork the Repository

https://github.com/Samizo-AITL/SemiDevKit

Step 2 — Create a Feature Branch

git checkout -b feature/my-new-feature

Step 3 — Make Changes

Step 4 — Commit Message Format

Use clear and descriptive messages:

Added new MOSCAP CV model
Fixed ngspice path handling on Windows
Improved PZT hysteresis visualization

Step 5 — Push & Create Pull Request

git push origin feature/my-new-feature

Then open a Pull Request on GitHub.


3. Coding Guidelines

✔ Python

✔ SPICE

✔ Documentation


4. Module Design Rules

✔ Each module must be self-contained

No module should rely on files outside its folder.

✔ Use consistent directory names

✔ Do not commit generated results

Except for demonstration examples.


5. Testing Guidelines

Before submitting a PR:

✔ TCAD Playground

✔ BSIM4 Analyzer

✔ Reliability Analyzer

✔ OpenLane-Lite


6. Style & Naming Rules

✔ File naming

Use lowercase_with_underscores.md, no spaces.

✔ Variable naming

Use snake_case for Python.

✔ Output naming

Include:

Example:

130nm_nmos_vgid_RT.csv

7. Licensing Rules for Contributions

SemiDevKit uses a hybrid license:

Component License
Source code MIT
Documentation CC BY or CC BY-SA
Figures CC BY-NC

By contributing, you agree your contribution will be released under the same hybrid licensing.


8. Contributor Recognition

Contributors will be credited in:


9. Contact

For discussion before contributing:

📌 Item Details
Name Shinichi Samizo
GitHub GitHub