Skip to content

Commit 05c86ff

Browse files
committed
Initial push
0 parents  commit 05c86ff

File tree

162 files changed

+9112
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+9112
-0
lines changed

.dockerignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
node_modules
2+
dist
3+
build
4+
5+
**/node_modules
6+
**/build
7+
**/dist

.eslintrc.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
module.exports = {
2+
extends: [
3+
'eslint:recommended',
4+
'plugin:markdown/recommended',
5+
'plugin:react/recommended',
6+
'plugin:react/jsx-runtime',
7+
'plugin:react-hooks/recommended',
8+
'plugin:jsx-a11y/recommended',
9+
'plugin:prettier/recommended'
10+
],
11+
settings: {
12+
react: {
13+
version: 'detect'
14+
}
15+
},
16+
parser: '@typescript-eslint/parser',
17+
ignorePatterns: ['**/node_modules', '**/dist', '**/build', '**/package-lock.json'],
18+
plugins: ['unused-imports'],
19+
rules: {
20+
'@typescript-eslint/explicit-module-boundary-types': 'off',
21+
'no-unused-vars': 'off',
22+
'unused-imports/no-unused-imports': 'warn',
23+
'unused-imports/no-unused-vars': ['warn', { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' }],
24+
'no-undef': 'off',
25+
'no-console': [process.env.CI ? 'error' : 'warn', { allow: ['warn', 'error', 'info'] }],
26+
'prettier/prettier': 'error'
27+
}
28+
}

.github/ISSUE_TEMPLATE/bug_report.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[BUG]'
5+
labels: ''
6+
assignees: ''
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Setup**
27+
28+
- OS: [e.g. iOS, Windows, Linux]
29+
- Browser [e.g. chrome, safari]
30+
31+
**Additional context**
32+
Add any other context about the problem here.
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE]'
5+
labels: ''
6+
assignees: ''
7+
---
8+
9+
**Describe the feature you'd like**
10+
A clear and concise description of what you would like Flowise to have.
11+
12+
**Additional context**
13+
Add any other context or screenshots about the feature request here.

.github/workflows/main.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Node CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
pull_request:
9+
branches:
10+
- '*'
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
build:
17+
strategy:
18+
matrix:
19+
platform: [ubuntu-latest]
20+
node-version: [14.x, 16.x]
21+
runs-on: ${{ matrix.platform }}
22+
23+
steps:
24+
- uses: actions/checkout@v3
25+
- name: Use Node.js ${{ matrix.node-version }}
26+
uses: actions/setup-node@v3
27+
with:
28+
node-version: ${{ matrix.node-version }}
29+
30+
- run: npm i -g yarn
31+
32+
- run: yarn install --ignore-engines
33+
34+
- run: yarn lint
35+
36+
- run: yarn build

.gitignore

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# editor
2+
.idea
3+
.vscode
4+
5+
# dependencies
6+
**/node_modules
7+
**/package-lock.json
8+
**/yarn.lock
9+
10+
## logs
11+
**/*.log
12+
13+
## build
14+
**/dist
15+
**/build
16+
17+
## temp
18+
**/tmp
19+
**/temp
20+
21+
## test
22+
**/coverage
23+
24+
# misc
25+
.DS_Store
26+
27+
## env
28+
.env.local
29+
.env.development.local
30+
.env.test.local
31+
.env.production.local
32+
.env
33+
34+
## turbo
35+
.turbo
36+
37+
## secrets
38+
**/*.key
39+
**/api.json
40+
41+
## compressed
42+
**/*.tgz

.husky/pre-commit

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
yarn quick # prettify
5+
yarn lint-staged # eslint lint(also include prettify but prettify support more file extensions than eslint, so run prettify first)

.prettierignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/node_modules
2+
**/dist
3+
**/build

.prettierrc.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = {
2+
printWidth: 140,
3+
singleQuote: true,
4+
jsxSingleQuote: true,
5+
trailingComma: 'none',
6+
tabWidth: 4,
7+
semi: false,
8+
endOfLine: 'auto'
9+
}

CODE_OF_CONDUCT.md

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
nationality, personal appearance, race, religion, or sexual identity and
10+
orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at [http://contributor-covenant.org/version/1/4][version]
72+
73+
[homepage]: http://contributor-covenant.org
74+
[version]: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
<!-- markdownlint-disable MD030 -->
2+
3+
# Contributing to Flowise
4+
5+
We appreciate any form of contributions.
6+
7+
## ⭐ Star
8+
9+
Star and share the [Github Repo](https://github.com/FlowiseAI/Flowise).
10+
11+
## 🙋 Q&A
12+
13+
Search up for any questions in [Q&A section](https://github.com/FlowiseAI/Flowise/discussions/categories/q-a), if you can't find one, don't hesitate to create one. It might helps others that have similar question.
14+
15+
## 🙌 Share Chatflow
16+
17+
Yes! Sharing how you use Flowise is a way of contribution. Export your chatflow as JSON, attach a screenshot and share it in [Show and Tell section](https://github.com/FlowiseAI/Flowise/discussions/categories/show-and-tell).
18+
19+
## 💡 Ideas
20+
21+
Ideas are welcome such as new feature, apps integration, and blockchain networks. Submit in [Ideas section](https://github.com/FlowiseAI/Flowise/discussions/categories/ideas).
22+
23+
## 🐞 Report Bugs
24+
25+
Found an issue? [Report it](https://github.com/FlowiseAI/Flowise/issues/new/choose).
26+
27+
## 👨‍💻 Contribute to Code
28+
29+
Not sure what to contribute? Some ideas:
30+
31+
- Create new components from Langchain
32+
- Update existing components such as extending functionality, fixing bugs
33+
- Add new chatflow ideas
34+
35+
### Developers
36+
37+
Flowise has 3 different modules in a single mono repository.
38+
39+
- `server`: Node backend to serve API logics
40+
- `ui`: React frontend
41+
- `components`: Langchain components
42+
43+
#### Prerequisite
44+
45+
- Install Yarn
46+
```bash
47+
npm i -g yarn
48+
```
49+
50+
#### Step by step
51+
52+
1. Fork the official [Flowise Github Repository](https://github.com/FlowiseAI/Flowise).
53+
54+
2. Clone your forked repository.
55+
56+
3. Create a new branch, see [guide](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository). Naming conventions:
57+
58+
- For feature branch: `feature/<Your New Feature>`
59+
- For bug fix branch: `bugfix/<Your New Bugfix>`.
60+
61+
4. Switch to the newly created branch.
62+
63+
5. Go into repository folder
64+
65+
```bash
66+
cd Flowise
67+
```
68+
69+
6. Install all dependencies of all modules:
70+
71+
```bash
72+
yarn install
73+
```
74+
75+
7. Build all the code:
76+
77+
```bash
78+
yarn build
79+
```
80+
81+
8. Start the app on [http://localhost:3000](http://localhost:3000)
82+
83+
```bash
84+
yarn start
85+
```
86+
87+
9. For development, run
88+
89+
```bash
90+
yarn dev
91+
```
92+
93+
Any changes made in `packages/ui` or `packages/server` will be reflected on [http://localhost:8080](http://localhost:8080)
94+
95+
For changes made in `packages/components`, run `yarn build` again to pickup the changes.
96+
97+
10. After making all the changes, run
98+
99+
```bash
100+
yarn build
101+
```
102+
103+
and
104+
105+
```bash
106+
yarn start
107+
```
108+
109+
to make sure everything works fine in production.
110+
111+
11. Commit code and submit Pull Request from forked branch pointing to [Flowise master](https://github.com/FlowiseAI/Flowise/tree/master).
112+
113+
## 📖 Contribute to Docs
114+
115+
In-Progress
116+
117+
## 🏷️ Pull Request process
118+
119+
A member of the FlowiseAI team will automatically be notified/assigned when you open a pull request. You can also reach out to us on [Discord](https://discord.gg/GWcGczPk).
120+
121+
## 📃 Contributor License Agreement
122+
123+
Before we can merge your contribution you have to sign our [Contributor License Agreement (CLA)](https://cla-assistant.io/FlowiseAI/Flowise). The CLA contains the terms and conditions under which the contribution is submitted. You need to do this only once for your first pull request. Keep in mind that without a signed CLA we cannot merge your contribution.
124+
125+
## 📜 Code of Conduct
126+
127+
This project and everyone participating in it are governed by the Code of Conduct which can be found in the [file](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

0 commit comments

Comments
 (0)