Skip to content

Commit

Permalink
Add workflows, issue templates, dependabot (#1)
Browse files Browse the repository at this point in the history
* Various minor cleanups to the github repo

* Run prettier

* Add OPENAI_API_KEY environment variable

* Fix indentation

* Make dummy test passing

* ESLint fixes

* Fix eslint rule for unused variables
  • Loading branch information
ReinderVosDeWael authored Feb 21, 2024
1 parent d346b71 commit 989a105
Show file tree
Hide file tree
Showing 19 changed files with 286 additions and 238 deletions.
11 changes: 11 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ module.exports = {
es2017: true,
node: true
},
rules: {
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_'
}
]
},
overrides: [
{
files: ['*.svelte'],
Expand Down
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Bug Report
description: This is a template for reporting a bug.
projects: ['childmindresearch/1']
title: 'Bug: '
labels: [bug]
body:
- type: textarea
id: description
attributes:
label: Description
description: Please provide a clear and concise description of the bug.
placeholder: Describe the bug here
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: Please provide detailed steps to reproduce the bug.
placeholder: Describe the steps to reproduce the bug here.
validations:
required: true
- type: textarea
id: expected-results
attributes:
label: Expected Results
description: Please describe what you expected to happen.
placeholder: Describe the expected results here.
validations:
required: true
- type: textarea
id: actual-results
attributes:
label: Actual Results
description: Please describe what actually happened.
placeholder: Describe the actual results here.
validations:
required: true
- type: textarea
id: additional-notes
attributes:
label: Additional Notes
description: Add any additional notes or context here.
placeholder: Add additional notes here.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/development_task.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Development Task
description: This is a template for a development task
projects: ['childmindresearch/1']
title: 'Task: '
labels: [task]
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the task about? Why is it needed? What is the current state, if any?
placeholder: Describe the task here
validations:
required: true
- type: textarea
id: tasks
attributes:
label: Tasks
description: What are the concrete (sub-)tasks that need to be performed?
placeholder: Describe the tasks here.
value: '- [ ] Task 1'
validations:
required: true
- type: textarea
id: freeform-notes
attributes:
label: Freeform Notes
description: Add any additional notes here.
placeholder: Add notes here.
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/support_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Support Request
description: This is a template for submitting a support request.
projects: ['childmindresearch/1']
title: 'Support: '
labels: [question]
body:
- type: textarea
id: issue-description
attributes:
label: Issue Description
description: Please provide a clear and concise description of the issue you are facing.
placeholder: Describe the issue here
validations:
required: true
- type: textarea
id: environment-details
attributes:
label: Environment Details
description: Please provide details about your environment, including system specifications, software versions, etc.
placeholder: Describe your environment details here.
validations:
required: false
- type: textarea
id: attempted-solutions
attributes:
label: Attempted Solutions
description: Describe any steps you have already taken to resolve the issue.
placeholder: Describe any attempted solutions here.
validations:
required: false
- type: textarea
id: reproduction-steps
attributes:
label: Reproduction Steps
description: If applicable, provide steps to reproduce the issue.
placeholder: Describe the steps to reproduce the issue, if applicable.
validations:
required: false
- type: textarea
id: additional-notes
attributes:
label: Additional Notes
description: Add any other context or screenshots about the support request here.
placeholder: Add additional notes or screenshots here.
11 changes: 11 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'monthly'
groups:
production-dependencies:
dependency-type: production
development-dependencies:
dependency-type: development
50 changes: 50 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Run tests and lint

on:
push:
branches:
- main
pull_request:

jobs:
testing:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
env:
OPENAI_API_KEY: fake_key
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
cache-dependency-path: package-lock.json
- name: Install dependencies
run: |
npm install
npx playwright install --with-deps
- name: Run tests
run: |
npm run test
- uses: actions/upload-artifact@v4
if: always()
with:
name: video-files
path: test-results/**/*.webm

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: 18
cache: npm
cache-dependency-path: package-lock.json
- run: |
npm install
npm run lint
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ node_modules
!.env.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
.vscode
120 changes: 0 additions & 120 deletions .vscode/settings.json

This file was deleted.

34 changes: 9 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,22 @@
# create-svelte
# Agate

Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
Agate (working name) is a web interface for various OpenAI tools. It is built using Sveltekit and Typescript.
Running Agate requires that an OpenAI API key is set in the environment variable `OPENAI_API_KEY`.

## Creating a project
## Installation

If you're seeing this, you've probably already done this step. Congrats!
To install Agate, clone the repository and install the dependencies using npm:

```bash
# create a new project in the current directory
npm create svelte@latest

# create a new project in my-app
npm create svelte@latest my-app
npm install
```

## Developing

Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
The development server requires that an OpenAI API key is set in the environment variable. This need not
be a real key (though any request to OpenAI will fail, and failure handling is not done elegantly yet).

```bash
export OPENAI_API_KEY=your-key
npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open
```

## Building

To create a production version of your app:

```bash
npm run build
```

You can preview the production build with `npm run preview`.

> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment.
Loading

0 comments on commit 989a105

Please sign in to comment.