diff --git a/.github/ISSUE_TEMPLATE/blank_issue.md b/.github/ISSUE_TEMPLATE/blank_issue.md
new file mode 100644
index 000000000..9aef3ebe6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/blank_issue.md
@@ -0,0 +1,4 @@
+---
+name: Blank Issue
+about: Create a blank issue.
+---
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000..5e6553c91
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,5 @@
+---
+name: Bug Report
+about: Create a bug report
+labels: bug
+---
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000..0086358db
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1 @@
+blank_issues_enabled: true
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..51598ddf4
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,72 @@
+# Contributing to Mosaic
+
+Thanks for considering to contribute to mosaic!
+
+**First**: if you're unsure or afraid of anything, just ask on our
+[Discord server][discord-invite-link] or submit the issue or pull request anyway.
+You won't be yelled at for giving it your best effort. The worst that can happen
+is that you'll be politely asked to change something. We appreciate any sort
+of contributions, and don't want a wall of rules to get in the way of that.
+
+# Code of Conduct
+
+Before contributing please read our [Code of Conduct](CODE_OF_CONDUCT.md) which
+all contributors are expected to adhere to.
+
+## Looking for something to work on?
+
+If you are new contributor to `Mosaic` going through [beginners][good-first-issue]
+should be a good start or you can join our public
+[Discord server][discord-invite-link], we would be happy to help
+finding something interesting to work on and guide through.
+
+[discord-invite-link]: https://discord.gg/feHDHahHCz
+[good-first-issue]: https://github.com/mosaic-org/mosaic/labels/good%20first%20issue
+
+## Filing Issues
+
+Bugs and enhancement suggestions are tracked as GitHub issues.
+
+### Lacking API for plugin in mosaic?
+
+If you have a plugin idea, but mosaic still doesn't have API required to make
+the plugin consider opening [an issue][plugin-issue] and describing your requirements.
+
+[plugin-issue]: https://github.com/mosaic-org/mosaic/issues/new?assignees=&labels=plugin%20system
+
+### How Do I Submit A (Good) Bug Report?
+
+After you've determined which repository your bug is related to and that the
+issue is still present in the latest version of the master branch, create an
+issue on that repository and provide the following information:
+
+- Use a **clear and descriptive title** for the issue to identify the problem.
+- Explain which **behavior you expected** to see instead and why.
+- Describe the exact **steps to reproduce the problem** in as many details as necessary.
+- When providing code samples, please use [code blocks][code-blocks].
+
+### How Do I Submit A (Good) Enhancement Suggestion?
+
+Instructions are similar to those for bug reports. Please provide the following
+information:
+
+- Use a **clear and descriptive title** for the issue to identify the suggestion.
+- Provide a **description of the suggested enhancement** in as many details as necessary.
+- When providing code samples, please use [code blocks][code-blocks].
+
+[code-blocks]: https://help.github.com/articles/creating-and-highlighting-code-blocks/
+
+## Submitting Pull Requests
+
+Instructions are similar to those for bug reports. Please provide the following information:
+
+- If this is not a trivial fix, consider **creating an issue to discuss first** and **later link to it from the PR**.
+- Use a **clear and descriptive title** for the pull request.
+ - Follow [Conventional Commit specification](https://www.conventionalcommits.org/en/v1.0.0/)
+where sufficiently large or impactful change is made.
+- Provide a **description of the changes** in as many details as necessary.
+
+Before submitting your pull request, also make sure that the following conditions are met:
+
+- Your new code **adheres to the code style** through running `cargo fmt`.
+- Your new code **passes all existing and new tests** through running `cargo test`.
diff --git a/README.md b/README.md
index 7cd63b9f5..4e6c9fc80 100644
--- a/README.md
+++ b/README.md
@@ -100,6 +100,10 @@ This section contains an ever-changing list of the major features that are eithe
* Built in support for portable workspaces across machines, projects and teams: imagine being able to include a configuration file with your project that would include all the layouts and plugins that would best help new developers getting onboarded. Including all the shortcuts, customized panes and help-message hints triggered by things such as opening a file, entering a folder or running a command. How about being able to log into a new server or container, start mosaic with a URL of a git repository including your favorite configuration and plugins, and working with it as if you were on your own machine?
* Support for multiple terminal windows across screens: Why limit yourself to one terminal window? Mosaic would allow you to transfer panes, view powerlines, get alerts and control your workspace from different windows by having them all belong to the same session.
+# Contributing
+
+Take a look at [`Contributing.md`](CONTRIBUTING.md) guide.
+
# License
MIT