diff --git a/.all-contributorsrc b/.all-contributorsrc
new file mode 100644
index 00000000..d212ff02
--- /dev/null
+++ b/.all-contributorsrc
@@ -0,0 +1,303 @@
+{
+ "projectName": "instill-core",
+ "projectOwner": "instill-ai",
+ "repoType": "github",
+ "repoHost": "https://github.com",
+ "imageSize": 100,
+ "contributorsPerLine": 5,
+ "contributorsSortAlphabetically": false,
+ "commit": true,
+ "commitConvention": "angular",
+ "linkToUsage": false,
+ "skipCi": true,
+ "badgeTemplate": "[![All Contributors](https://img.shields.io/badge/all_contributors-31-blue.svg?label=All%20Contributors)](#contributors)",
+ "contributorTemplate": "\">\" width=\"<%= options.imageSize %>px;\" alt=\"\"/>
<%= contributor.name %>",
+ "files": [
+ "README.md"
+ ],
+ "contributors": [
+ {
+ "login": "VibhorGits",
+ "name": "Vibhor Bhatt",
+ "avatar_url": "https://avatars.githubusercontent.com/u/110928899?v=4",
+ "profile": "https://github.com/VibhorGits",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "miguel-ortiz-marin",
+ "name": "Miguel Ortiz",
+ "avatar_url": "https://avatars.githubusercontent.com/u/89418691?v=4",
+ "profile": "https://github.com/miguel-ortiz-marin",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "sajdakabir",
+ "name": "Sajda Kabir",
+ "avatar_url": "https://avatars.githubusercontent.com/u/86569763?v=4",
+ "profile": "https://github.com/sajdakabir",
+ "contributions": [
+ "bug"
+ ]
+ },
+ {
+ "login": "chenhunghan",
+ "name": "Henry Chen",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1474479?v=4",
+ "profile": "https://github.com/chenhunghan",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "HariBhandari07",
+ "name": "Hari Bhandari",
+ "avatar_url": "https://avatars.githubusercontent.com/u/34328907?v=4",
+ "profile": "https://github.com/HariBhandari07",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "geeksambhu",
+ "name": "Shiva Gaire",
+ "avatar_url": "https://avatars.githubusercontent.com/u/9899283?v=4",
+ "profile": "https://github.com/geeksambhu",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "syedzubeen",
+ "name": "Zubeen",
+ "avatar_url": "https://avatars.githubusercontent.com/u/14253061?v=4",
+ "profile": "https://github.com/syedzubeen",
+ "contributions": [
+ "example"
+ ]
+ },
+ {
+ "login": "ShihChun-H",
+ "name": "ShihChun-H",
+ "avatar_url": "https://avatars.githubusercontent.com/u/143982976?v=4",
+ "profile": "https://github.com/ShihChun-H",
+ "contributions": [
+ "content",
+ "tutorial"
+ ]
+ },
+ {
+ "login": "eltociear",
+ "name": "Ikko Eltociear Ashimine",
+ "avatar_url": "https://avatars.githubusercontent.com/u/22633385?v=4",
+ "profile": "https://github.com/eltociear",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "FarukhS52",
+ "name": "Farookh Zaheer Siddiqui",
+ "avatar_url": "https://avatars.githubusercontent.com/u/129654632?v=4",
+ "profile": "https://github.com/FarukhS52",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "diamondsea",
+ "name": "Brian Gallagher",
+ "avatar_url": "https://avatars.githubusercontent.com/u/847589?v=4",
+ "profile": "https://github.com/diamondsea",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "hairyputtar",
+ "name": "hairyputtar",
+ "avatar_url": "https://avatars.githubusercontent.com/u/148847552?v=4",
+ "profile": "https://github.com/hairyputtar",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "dmarx",
+ "name": "David Marx",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1466881?v=4",
+ "profile": "https://github.com/dmarx",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "DenizParlak",
+ "name": "Deniz Parlak",
+ "avatar_url": "https://avatars.githubusercontent.com/u/11199794?v=4",
+ "profile": "https://github.com/DenizParlak",
+ "contributions": [
+ "test"
+ ]
+ },
+ {
+ "login": "bryan107",
+ "name": "Po-Yu Chen",
+ "avatar_url": "https://avatars.githubusercontent.com/u/8025085?v=4",
+ "profile": "https://github.com/bryan107",
+ "contributions": [
+ "example"
+ ]
+ },
+ {
+ "login": "EiffelFly",
+ "name": "Po Chun Chiu",
+ "avatar_url": "https://avatars.githubusercontent.com/u/57251712?v=4",
+ "profile": "https://github.com/EiffelFly",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "Sarthak-instill",
+ "name": "Sarthak",
+ "avatar_url": "https://avatars.githubusercontent.com/u/134260133?v=4",
+ "profile": "https://github.com/Sarthak-instill",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "heiruwu",
+ "name": "HR Wu",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5631010?v=4",
+ "profile": "https://github.com/heiruwu",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "Phelan164",
+ "name": "phelan",
+ "avatar_url": "https://avatars.githubusercontent.com/u/2509508?v=4",
+ "profile": "https://github.com/Phelan164",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "donch1989",
+ "name": "Chang, Hui-Tang",
+ "avatar_url": "https://avatars.githubusercontent.com/u/441005?v=4",
+ "profile": "https://github.com/donch1989",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "xiaofei-du",
+ "name": "Xiaofei Du",
+ "avatar_url": "https://avatars.githubusercontent.com/u/66248476?v=4",
+ "profile": "https://github.com/xiaofei-du",
+ "contributions": [
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "pinglin",
+ "name": "Ping-Lin Chang",
+ "avatar_url": "https://avatars.githubusercontent.com/u/628430?v=4",
+ "profile": "https://github.com/pinglin",
+ "contributions": [
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "tonywang10101",
+ "name": "Tony Wang",
+ "avatar_url": "https://avatars.githubusercontent.com/u/78333580?v=4",
+ "profile": "https://github.com/tonywang10101",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "Pratikdate",
+ "name": "Pratik date",
+ "avatar_url": "https://avatars.githubusercontent.com/u/91735895?v=4",
+ "profile": "https://github.com/Pratikdate",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "jvallesm",
+ "name": "Juan Vallés",
+ "avatar_url": "https://avatars.githubusercontent.com/u/3977183?v=4",
+ "profile": "https://github.com/jvallesm",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "iamnamananand996",
+ "name": "Naman Anand",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31537362?v=4",
+ "profile": "https://github.com/iamnamananand996",
+ "contributions": [
+ "code",
+ "doc"
+ ]
+ },
+ {
+ "login": "totuslink",
+ "name": "totuslink",
+ "avatar_url": "https://avatars.githubusercontent.com/u/78023102?v=4",
+ "profile": "https://github.com/totuslink",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "praharshjain",
+ "name": "Praharsh Jain",
+ "avatar_url": "https://avatars.githubusercontent.com/u/12197448?v=4",
+ "profile": "https://github.com/praharshjain",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "Smartmind12",
+ "name": "Utsav Paul",
+ "avatar_url": "https://avatars.githubusercontent.com/u/91927689?v=4",
+ "profile": "https://github.com/Smartmind12",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "CaCaBlocker",
+ "name": "CaCaBlocker",
+ "avatar_url": "https://avatars.githubusercontent.com/u/87882515?v=4",
+ "profile": "https://github.com/CaCaBlocker",
+ "contributions": [
+ "doc"
+ ]
+ },
+ {
+ "login": "rsmelo92",
+ "name": "Rafael Melo",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16295402?v=4",
+ "profile": "https://github.com/rsmelo92",
+ "contributions": [
+ "code"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 34ab2bcb..01329d85 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -7,11 +7,9 @@ We appreciate your contribution to this amazing project! Any form of engagement
- roadmap suggestion
- ...and so on!
-Please refer to the [community contributing section](https://github.com/instill-ai/community#contributing) for more details.
-
## Development and codebase contribution
-Before delving into the details to come up with your first PR, please familiarise yourself with the project structure of [Instill Core](https://github.com/instill-ai/community#instill-core).
+Before delving into the details to come up with your first PR, please familiarise yourself with the project structure of [Instill Core](https://github.com/instill-ai/instill-core).
### Prerequisites
diff --git a/.github/triage.md b/.github/triage.md
new file mode 100644
index 00000000..dffe3f35
--- /dev/null
+++ b/.github/triage.md
@@ -0,0 +1,62 @@
+# Issues Triage Process
+
+The triage process is designed to swiftly categorize new issues and pull requests (PRs) and take appropriate actions whenever possible.
+
+As a new issue/PR is created, the community initiates conversations, applies suitable labels, and seeks additional information.
+
+At Instill AI, we conduct regular triage meetings. These meetings focus on unresolved issues/PRs where consensus has not been reached, and aim to determine whether and when they should be incorporated into our roadmap.
+
+## Triage Stages
+
+| Name | Description |
+| ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Triage | When a new issue/PR is opened, it is automatically labeled as `need triage``. Maintainers assign core members as reviewers to assess the issue/PR's characteristics. Reviewers initiate conversations with the creator of the issue/PR and apply relevant labels. If there's consensus and the issue/PR requires detailed planning, reviewers remove the `need triage`` label and add the `linear` label. |
+| Plan | Issues/PRs with the `linear` label are thoroughly reviewed and need to be planned. Reviewers determine if the issue/PR is suitable for community contribution, whether it can be added to the backlog, and discuss its potential inclusion in the roadmap and the timing thereof. |
+
+We anticipate that most issues/PRs can follow this path, leading to efficient asynchronous resolution without waiting for triage meetings. Issues/PRs labeled as `need discussion` will be addressed during these triage meetings.
+
+👉 Please refer to the [triage process diagram](https://app.eraser.io/workspace/0cadbV6boFtr9NUcAGMH?elements=4FnFqsyPSnm7QMlVlvnFkg) for visual representation.
+
+## Labels
+
+GitHub labels assist in annotating issues/PRs with additional information. Our community uses labels, as outlined below, to convey information and facilitate decision-making regarding issues/PRs.
+
+### Communication Labels
+
+These labels convey the status of the triage process for an issue/PR and indicate areas where community contribution is needed. Many communication labels are replaced by other labels as the triage process progresses and the issue enters active development. For instance, the `help wanted` label is removed once an issue moves into active development and a community member takes ownership. Below are the labels in this category:
+
+|
Vibhor Bhatt |
+ Miguel Ortiz |
+ Sajda Kabir |
+ Henry Chen |
+ Hari Bhandari |
+
Shiva Gaire |
+ Zubeen |
+ ShihChun-H |
+ Ikko Eltociear Ashimine |
+ Farookh Zaheer Siddiqui |
+
Brian Gallagher |
+ hairyputtar |
+ David Marx |
+ Deniz Parlak |
+ Po-Yu Chen |
+
Po Chun Chiu |
+ Sarthak |
+ HR Wu |
+ phelan |
+ Chang, Hui-Tang |
+
Xiaofei Du |
+ Ping-Lin Chang |
+ Tony Wang |
+ Pratik date |
+ Juan Vallés |
+
Naman Anand |
+ totuslink |
+ Praharsh Jain |
+ Utsav Paul |
+ CaCaBlocker |
+
Rafael Melo |
+