Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,6 @@ cython_debug/

# PyPI configuration file
.pypirc

# Local Netlify folder
.netlify
1 change: 0 additions & 1 deletion backend/temp/Perspective
Submodule Perspective deleted from cd9f19
49 changes: 49 additions & 0 deletions docs/LEGAL_DOC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Devr.AI Legal Documentation

_Last Updated: April 14, 2025_

## 1. Introduction
Welcome to Devr.AI, an AI-powered Developer Relations (DevRel) assistant that integrates with platforms such as Discord, Slack, GitHub, and Discourse. This Legal Documentation (β€œAgreement”) governs your use of Devr.AI, including its software, documentation, integrations, and related services (collectively, the β€œProject”). By accessing or using any part of the Project, you agree to be bound by these terms. If you do not agree with any portion of this Agreement, do not use the Project.

## 2. Grant of License
Subject to your compliance with the terms of this Agreement, Devr.AI hereby grants you a **non-exclusive, worldwide, royalty-free license** to use, reproduce, display, and distribute the Project in source and/or binary forms, with or without modifications.
- **Permitted Uses:** Integration within open-source communities, developer relations work, community engagement, issue triage, PR assistance, and community analytics.
- **Restrictions:** You agree not to use, modify, or distribute the Project in a manner that violates any applicable laws or infringes on the proprietary rights of third parties. Commercial use beyond the license grant may require additional written permission.

## 3. Intellectual Property Rights
All right, title, and interest in and to the Project, including but not limited to all copyrights, trademarks, trade secrets, and other intellectual property rights, remain exclusively with the Project maintainers or their licensors.
- **Third-Party Components:** The Project may include components licensed from third parties. Your use of such components is subject to the respective third-party license agreements, and you are responsible for complying with those terms.

## 4. Disclaimer of Warranties
THE PROJECT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
- **No Guarantee:** Neither the maintainers nor any contributors guarantee that the software will be error-free, secure, or available on an uninterrupted, timely, or safe basis.
- **Risk Acknowledgment:** You assume all risks associated with the use of the Project. It is your responsibility to ensure that any integration with external systems (such as Discord, Slack, GitHub, and Discourse) does not create legal or security issues for your deployment.

## 5. Limitation of Liability
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE DEVR.AI PROJECT, ITS MAINTAINERS, CONTRIBUTORS, OR AFFILIATES BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, DATA, OR OTHER INTANGIBLE LOSSES) ARISING OUT OF OR RELATED TO THE USE OR INABILITY TO USE THE PROJECT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

## 6. Contributions and Community Conduct
- **Contributor License:** By contributing code, documentation, or other materials to the Project, you hereby grant the maintainers a perpetual, irrevocable, non-exclusive, worldwide license to use your contributions under the terms of this Agreement.
- **Code of Conduct:** Contributors and users are expected to maintain respectful, constructive, and professional interactions within community channels. Any behavior contrary to the spirit of open-source collaboration may result in revocation of access or other legal remedies.

## 7. Third-Party Services and Integrations
Devr.AI integrates with several third-party platforms (e.g., Discord, Slack, GitHub, and Discourse). Use of these integrations is subject not only to this Agreement but also to the respective terms and policies of the third-party providers.
- **No Endorsement:** The inclusion of these platforms and any reference to them does not imply an endorsement by Devr.AI.
- **User Responsibility:** You are solely responsible for adhering to the third-party providers’ terms, and the Devr.AI maintainers disclaim any liability regarding issues arising from these integrations.

## 8. Data Privacy and Use
- **Data Collection:** The Project may collect, store, and process data to support community engagement, contributor onboarding, and real-time analytics. The specifics of such data handling are detailed in our [Privacy Policy](#).
- **Compliance:** Users must comply with all applicable data protection regulations and ensure that any personal or sensitive data accessed or processed via the Project is handled in accordance with local laws.
- **No Warranty for Data Security:** While we strive to implement robust security measures, the maintainers do not warrant that unauthorized access or data breaches will be completely prevented.

## 9. Modification and Termination
- **Amendments:** We reserve the right to update or modify this Agreement at any time. Continued use of the Project after changes have been posted constitutes acceptance of the revised terms.
- **Termination:** The maintainers may terminate or suspend your access to the Project at any time for any reason, including but not limited to breaches of this Agreement, without liability to you.

## 10. Governing Law and Dispute Resolution
- **Jurisdiction:** This Agreement and any disputes related to it shall be governed exclusively by the laws of the jurisdiction in which the primary maintainers operate, without regard to its conflict of laws principles.
- **Dispute Resolution:** In the event of any dispute, controversy, or claim arising from or related to this Agreement, the parties agree to first seek resolution through informal negotiations. If a resolution cannot be reached, any unresolved dispute shall be subject to binding arbitration in accordance with applicable law.

## 11. Contact Information
If you have any questions about this Agreement, please contact us at:
**Email:** [email protected]
25 changes: 25 additions & 0 deletions landing/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local
!src/lib/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
54 changes: 54 additions & 0 deletions landing/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default tseslint.config({
extends: [
// Remove ...tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,
],
languageOptions: {
// other options...
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config({
plugins: {
// Add the react-x and react-dom plugins
'react-x': reactX,
'react-dom': reactDom,
},
rules: {
// other rules...
// Enable its recommended typescript rules
...reactX.configs['recommended-typescript'].rules,
...reactDom.configs.recommended.rules,
},
})
```
28 changes: 28 additions & 0 deletions landing/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'

export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
},
)
26 changes: 26 additions & 0 deletions landing/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Devr.AI - AI-powered developer relations assistant for open-source projects" />
<title>Devr.AI | AI-Powered Developer Relations Assistant</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
</head>

<body>
<form name="waitlist" netlify netlify-honeypot="bot-field" hidden>
<input type="text" name="name" />
<input type="email" name="email" />
<input name="bot-field" />
</form>

<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>

</html>
16 changes: 16 additions & 0 deletions landing/netlify.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[build]
command = "npm run build"
publish = "dist"

[git]
submodules = false

[[redirects]]
from = "/*"
to = "/index.html"
status = 200

[dev]
command = "npm run dev"
port = 3001
publish = "dist"
Loading