Repository: stineje/CharLib (language: python)

Issue:
Add ways to volunteer to help
It would be good to have info about how people can get involved and help.


Discussion / hints:
am very, very interested in people helping - please dm if interested <James.stine@okstate.edu>.

Fix patch:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..97bc922
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,63 @@
+# Contributing to CharLib
+Thanks for your interest in contributing to CharLib! We're always looking for new ideas and ways to improve.
+
+This document is a set of guidelines for how to contribute to CharLib. These are mostly guidelines, not strict rules; you should use your best judgment, and feel free to suggest improvements to this document.
+
+## Using CharLib to Characterize Standard Cells
+Looking for information on how to use CharLib? Check out the [README](https://github.com/stineje/CharLib/blob/main/README.md), which has helpful links to detailed usage information.
+
+If you still need additional help, [reach out to one of us](#points-of-contact). We're constantly looking for ways to improve documentation, and your feedback is a big help.
+
+## Getting Started
+
+### Things to Know
+CharLib is composed of three main components:
+
+* liberty: An object-based Python interface for writing standard cell libraries to liberty files. This includes objects to manage standard cell libraries and represent individual combinational and sequential cells.
+* characterizer: A set of tools for running spice simulations against standard cells. This includes tools for managing collections of standard cells and dispatching simulation jobs, as well as simulation procedures for characterizing cells.
+* CharLib.py: A command-line tool that facilitates interaction with the `characterizer` and `liberty` components. This is the primary user interface for CharLib.
+
+If you have questions about where to direct your efforts for a particular task, please reach out to one of the contacts listed [here](#points-of-contact).
+
+### Setting up your Development Environment
+To get started, you'll need to install a few prerequisites:
+
+* Python version 3.10 or later
+* ngspice version 36 or later
+
+After installing those, you should fork the CharLib repository and clone your fork. To make sure everything is set up correctly, run `make` to test CharLib with a simple OSU350 characterization task.
+
+### Procedure for Code Contributions
+1. Identify an existing issue that you want to solve, or [create a new issue](https://github.com/stineje/CharLib/issues/new/).
+2. Fork the CharLib repository and make changes to fix the identified issue.
+3. Open a draft Pull Request as early as possible in the process. This helps us work as a team and work out potential issues ahead of time.
+4. Extensively test your changes.
+5. Once you're done making changes, mark your PR as ready for review. Maintainers will review your code and accept your PR or request changes as needed.
+
+## Reporting Issues
+Bugs can be reported by [opening a new Issue here](https://github.com/stineje/CharLib/issues/new/). Include as much detail as possible. If feasible, attach your CharLib configuration files and cells to the Issue so that we can identify what went wrong.
+
+## Requesting New Features
+Feature requests can be made by [opening a new Issue here](https://github.com/stineje/CharLib/issues/new/). Include as much detail as possible about how you want to use CharLib and/or how you think it should behave.
+
+## Style Guidelines
+
+### Git Commit Messages
+* Use present tense ("Fix bug", not "Fixed bug")
+* Use imperative mood ("Replace thingamajig", not "Replaces thingamajig")
+* Limit the first line to 72 characters or less
+* Reference issues, pull requests, and other information liberally after the first line
+    * If the first line isn't enough to explain the full scope of your changes, use as much extra space as needed.
+
+### Pull Request Guidelines
+* Pull Requests should be concise and focused. Smaller changesets are much easier to implement and review than large changes. Keeping PRs small also helps us limit scope creep.
+* Provide a detailed description of changes. Add as much context and rational for your decision-making process as possible.
+* Add 'Fixes #[issue number]' to the pull request description or commit message if your PR targets a specific issue. See the [github docs](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) for more information.
+
+### Python Code
+Python code submissions should adhere to the guidelines in [PEP 8](https://peps.python.org/pep-0008/). Aim for improved readability over conciseness. We aren't super strict on this - just make sure your code is formatted in a reasonable manner.
+
+## Points of Contact
+If you have any other questions, please reach out to one of us:
+* Marcus Mellor: infinitymdm@gmail.com
+* Dr. James Stine: james.stine@okstate.edu
\ No newline at end of file


Test patch:
diff --git a/test/osu350/osu350.yml b/test/osu350/osu350.yml
index fa154d2..7ab2b58 100644
--- a/test/osu350/osu350.yml
+++ b/test/osu350/osu350.yml
@@ -41,19 +41,19 @@ cells:
         outputs:    ['Y']
         functions:
             - Y=~A
-    FAX1:
-        netlist:    osu350_spice_temp/FAX1.sp
-        area:       480
-        inputs:     [A, B, C]
-        outputs:    [YC, YS]
-        functions:
-            - YC=(A&B)|(C&(A^B))
-            - YS=A^B^C
-    HAX1:
-        netlist:    osu350_spice_temp/HAX1.sp
-        area:       320
-        inputs:     [A, B]
-        outputs:    [YC, YS]
-        functions:
-            - YC=A&B
-            - YS=A^B
\ No newline at end of file
+    # FAX1:
+    #     netlist:    osu350_spice_temp/FAX1.sp
+    #     area:       480
+    #     inputs:     [A, B, C]
+    #     outputs:    [YC, YS]
+    #     functions:
+    #         - YC=(A&B)|(C&(A^B))
+    #         - YS=A^B^C
+    # HAX1:
+    #     netlist:    osu350_spice_temp/HAX1.sp
+    #     area:       320
+    #     inputs:     [A, B]
+    #     outputs:    [YC, YS]
+    #     functions:
+    #         - YC=A&B
+    #         - YS=A^B
\ No newline at end of file