├── EmailDashboardV1
├── .gitignore
├── package-lock.json
├── package.json
├── public
│ └── index.html
├── src
│ ├── App.tsx
│ ├── components
│ │ ├── Email.tsx
│ │ └── EmailList.tsx
│ ├── data
│ │ └── sampleEmails.ts
│ └── index.tsx
└── tsconfig.json
├── EmailDashboardV2
├── .gitignore
├── package-lock.json
├── package.json
├── public
│ └── index.html
├── src
│ ├── App.tsx
│ ├── components
│ │ ├── Email.tsx
│ │ └── EmailList.tsx
│ ├── data
│ │ └── sampleEmails.ts
│ └── index.tsx
└── tsconfig.json
├── README.md
└── prompt.txt
/EmailDashboardV1/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Optional REPL history
57 | .node_repl_history
58 |
59 | # Output of 'npm pack'
60 | *.tgz
61 |
62 | # Yarn Integrity file
63 | .yarn-integrity
64 |
65 | # dotenv environment variables file
66 | .env
67 | .env.test
68 |
69 | # parcel-bundler cache (https://parceljs.org/)
70 | .cache
71 |
72 | # Next.js build output
73 | .next
74 | out/
75 |
76 | # Nuxt.js build / generate output
77 | .nuxt
78 | dist/
79 |
80 | # Gatsby files
81 | .cache/
82 | # Comment in the public line in if your project uses Gatsby and not Next.js
83 | # https://nextjs.org/blog/next-9-1#public-directory-support
84 | # public
85 |
86 | # vuepress build output
87 | .vuepress/dist
88 |
89 | # Serverless directories
90 | .serverless/
91 |
92 | # FuseBox cache
93 | .fusebox/
94 |
95 | # DynamoDB Local files
96 | .dynamodb/
97 |
98 | # TernJS port file
99 | .tern-port
100 |
101 | # Stores VSCode versions used for testing VSCode extensions
102 | .vscode-test
103 |
104 | # yarn v2
105 | .yarn/cache
106 | .yarn/unplugged
107 | .yarn/build-state.yml
108 | .yarn/install-state.gz
109 | .pnp.*
110 |
--------------------------------------------------------------------------------
/EmailDashboardV1/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dashboard-app",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "react-scripts start",
7 | "build": "react-scripts build",
8 | "test": "react-scripts test",
9 | "eject": "react-scripts eject"
10 | },
11 | "dependencies": {
12 | "@mui/material": "^5.0.0",
13 | "@emotion/react": "^11.0.0",
14 | "@emotion/styled": "^11.0.0",
15 | "@types/react": "^17.0.0",
16 | "@types/react-dom": "^17.0.0",
17 | "react": "^17.0.2",
18 | "react-dom": "^17.0.2",
19 | "react-scripts": "^5.0.0",
20 | "typescript": "^4.0.0"
21 | },
22 | "devDependencies": {
23 | "@types/node": "^16.0.0"
24 | },
25 | "browserslist": {
26 | "production": [
27 | ">0.2%",
28 | "not dead",
29 | "not op_mini all"
30 | ],
31 | "development": [
32 | "last 1 chrome version",
33 | "last 1 firefox version",
34 | "last 1 safari version"
35 | ]
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/EmailDashboardV1/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
13 |
14 |
15 | Dashboard App
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/EmailDashboardV1/src/App.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import { Container } from '@mui/material';
5 | import EmailList from './components/EmailList';
6 |
7 | const App: React.FC = () => {
8 | return (
9 |
10 |
11 |
12 | );
13 | };
14 |
15 | export default App;
16 |
--------------------------------------------------------------------------------
/EmailDashboardV1/src/components/Email.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import { Typography } from '@mui/material';
5 | import { Email as EmailType } from '../data/sampleEmails';
6 |
7 | interface EmailProps {
8 | email: EmailType;
9 | }
10 |
11 | const Email: React.FC = ({ email }) => {
12 | return (
13 | <>
14 | {email.subject}
15 | {email.sender}
16 | {email.preview}
17 | >
18 | );
19 | };
20 |
21 | export default Email;
22 |
--------------------------------------------------------------------------------
/EmailDashboardV1/src/components/EmailList.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import { List, ListItem, ListItemText, Typography } from '@mui/material';
5 | import { sampleEmails } from '../data/sampleEmails';
6 | import Email from './Email';
7 |
8 | const EmailList: React.FC = () => {
9 | return (
10 |
11 |
12 | Emails
13 |
14 | {sampleEmails.map((email) => (
15 |
16 |
17 |
18 |
19 |
20 | ))}
21 |
22 | );
23 | };
24 |
25 | export default EmailList;
26 |
--------------------------------------------------------------------------------
/EmailDashboardV1/src/data/sampleEmails.ts:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | export interface Email {
4 | id: number;
5 | sender: string;
6 | subject: string;
7 | preview: string;
8 | }
9 |
10 | export const sampleEmails: Email[] = [
11 | {
12 | id: 1,
13 | sender: 'John Doe',
14 | subject: 'Welcome to the Dashboard App',
15 | preview: 'This is a sample email for your new dashboard app...',
16 | },
17 | {
18 | id: 2,
19 | sender: 'Jane Smith',
20 | subject: 'Important Updates',
21 | preview: 'We have some important updates to share with you...',
22 | },
23 | {
24 | id: 3,
25 | sender: 'Mike Johnson',
26 | subject: 'Meeting Reminder',
27 | preview: 'This is a friendly reminder about our meeting today...',
28 | },
29 | ];
30 |
--------------------------------------------------------------------------------
/EmailDashboardV1/src/index.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import ReactDOM from 'react-dom';
5 | import { CssBaseline } from '@mui/material';
6 | import { ThemeProvider, createTheme } from '@mui/material/styles';
7 | import App from './App';
8 |
9 | const theme = createTheme({
10 | palette: {
11 | primary: {
12 | main: '#3f51b5',
13 | },
14 | secondary: {
15 | main: '#f50057',
16 | },
17 | },
18 | });
19 |
20 | ReactDOM.render(
21 |
22 |
23 |
24 |
25 |
26 | ,
27 | document.getElementById('root')
28 | );
29 |
--------------------------------------------------------------------------------
/EmailDashboardV1/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "noEmit": true,
20 | "jsx": "react-jsx"
21 | },
22 | "include": [
23 | "src"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/EmailDashboardV2/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Optional REPL history
57 | .node_repl_history
58 |
59 | # Output of 'npm pack'
60 | *.tgz
61 |
62 | # Yarn Integrity file
63 | .yarn-integrity
64 |
65 | # dotenv environment variables file
66 | .env
67 | .env.test
68 |
69 | # parcel-bundler cache (https://parceljs.org/)
70 | .cache
71 |
72 | # Next.js build output
73 | .next
74 | out/
75 |
76 | # Nuxt.js build / generate output
77 | .nuxt
78 | dist/
79 |
80 | # Gatsby files
81 | .cache/
82 | # Comment in the public line in if your project uses Gatsby and not Next.js
83 | # https://nextjs.org/blog/next-9-1#public-directory-support
84 | # public
85 |
86 | # vuepress build output
87 | .vuepress/dist
88 |
89 | # Serverless directories
90 | .serverless/
91 |
92 | # FuseBox cache
93 | .fusebox/
94 |
95 | # DynamoDB Local files
96 | .dynamodb/
97 |
98 | # TernJS port file
99 | .tern-port
100 |
101 | # Stores VSCode versions used for testing VSCode extensions
102 | .vscode-test
103 |
104 | # yarn v2
105 | .yarn/cache
106 | .yarn/unplugged
107 | .yarn/build-state.yml
108 | .yarn/install-state.gz
109 | .pnp.*
110 |
--------------------------------------------------------------------------------
/EmailDashboardV2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dashboard-app",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "react-scripts start",
7 | "build": "react-scripts build",
8 | "test": "react-scripts test",
9 | "eject": "react-scripts eject"
10 | },
11 | "dependencies": {
12 | "@mui/material": "^5.0.0",
13 | "@mui/styles": "^5.0.0",
14 | "@mui/icons-material": "^5.0.0",
15 | "@emotion/react": "^11.0.0",
16 | "@emotion/styled": "^11.0.0",
17 | "@types/react": "^17.0.0",
18 | "@types/react-dom": "^17.0.0",
19 | "react": "^17.0.2",
20 | "react-dom": "^17.0.2",
21 | "react-scripts": "^5.0.0",
22 | "typescript": "^4.0.0"
23 | },
24 | "devDependencies": {
25 | "@types/node": "^16.0.0"
26 | },
27 | "browserslist": {
28 | "production": [
29 | ">0.2%",
30 | "not dead",
31 | "not op_mini all"
32 | ],
33 | "development": [
34 | "last 1 chrome version",
35 | "last 1 firefox version",
36 | "last 1 safari version"
37 | ]
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/EmailDashboardV2/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
13 |
14 |
15 | Dashboard App
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/EmailDashboardV2/src/App.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import {
5 | Container,
6 | AppBar,
7 | Toolbar,
8 | Typography,
9 | IconButton,
10 | Drawer,
11 | List,
12 | ListItem,
13 | ListItemIcon,
14 | ListItemText,
15 | } from '@mui/material';
16 | import { makeStyles } from '@mui/styles';
17 | import MenuIcon from '@mui/icons-material/Menu';
18 | import InboxIcon from '@mui/icons-material/Inbox';
19 | import EmailList from './components/EmailList';
20 |
21 | const useStyles = makeStyles({
22 | appBar: {
23 | zIndex: 1201,
24 | },
25 | drawer: {
26 | width: 240,
27 | },
28 | menuButton: {
29 | marginRight: 16,
30 | },
31 | content: {
32 | flexGrow: 1,
33 | padding: '24px',
34 | },
35 | });
36 |
37 | const App: React.FC = () => {
38 | const classes = useStyles();
39 | const [drawerOpen, setDrawerOpen] = React.useState(false);
40 |
41 | const toggleDrawer = () => {
42 | setDrawerOpen(!drawerOpen);
43 | };
44 |
45 | const drawerContent = (
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | );
55 |
56 | return (
57 | <>
58 |
59 |
60 |
67 |
68 |
69 | Dashboard App
70 |
71 |
72 |
78 | {drawerContent}
79 |
80 |
81 |
82 |
83 |
84 | >
85 | );
86 | };
87 |
88 | export default App;
89 |
--------------------------------------------------------------------------------
/EmailDashboardV2/src/components/Email.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import { Typography } from '@mui/material';
5 | import { Email as EmailType } from '../data/sampleEmails';
6 |
7 | interface EmailProps {
8 | email: EmailType;
9 | }
10 |
11 | const Email: React.FC = ({ email }) => {
12 | return (
13 | <>
14 | {email.subject}
15 | {email.sender}
16 | {email.preview}
17 | >
18 | );
19 | };
20 |
21 | export default Email;
22 |
--------------------------------------------------------------------------------
/EmailDashboardV2/src/components/EmailList.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import { List, ListItem, ListItemText, Typography } from '@mui/material';
5 | import { sampleEmails } from '../data/sampleEmails';
6 | import Email from './Email';
7 |
8 | const EmailList: React.FC = () => {
9 | return (
10 |
11 |
12 | Emails
13 |
14 | {sampleEmails.map((email) => (
15 |
16 |
17 |
18 |
19 |
20 | ))}
21 |
22 | );
23 | };
24 |
25 | export default EmailList;
26 |
--------------------------------------------------------------------------------
/EmailDashboardV2/src/data/sampleEmails.ts:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | export interface Email {
4 | id: number;
5 | sender: string;
6 | subject: string;
7 | preview: string;
8 | }
9 |
10 | export const sampleEmails: Email[] = [
11 | {
12 | id: 1,
13 | sender: 'John Doe',
14 | subject: 'Welcome to the Dashboard App',
15 | preview: 'This is a sample email for your new dashboard app...',
16 | },
17 | {
18 | id: 2,
19 | sender: 'Jane Smith',
20 | subject: 'Important Updates',
21 | preview: 'We have some important updates to share with you...',
22 | },
23 | {
24 | id: 3,
25 | sender: 'Mike Johnson',
26 | subject: 'Meeting Reminder',
27 | preview: 'This is a friendly reminder about our meeting today...',
28 | },
29 | ];
30 |
--------------------------------------------------------------------------------
/EmailDashboardV2/src/index.tsx:
--------------------------------------------------------------------------------
1 | // CoDev - A GPT 4.0 A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend
2 |
3 | import React from 'react';
4 | import ReactDOM from 'react-dom';
5 | import { CssBaseline } from '@mui/material';
6 | import { ThemeProvider, createTheme } from '@mui/material/styles';
7 | import App from './App';
8 |
9 | const theme = createTheme({
10 | palette: {
11 | primary: {
12 | main: '#3f51b5',
13 | },
14 | secondary: {
15 | main: '#f50057',
16 | },
17 | },
18 | });
19 |
20 | ReactDOM.render(
21 |
22 |
23 |
24 |
25 |
26 | ,
27 | document.getElementById('root')
28 | );
29 |
--------------------------------------------------------------------------------
/EmailDashboardV2/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "noEmit": true,
20 | "jsx": "react-jsx"
21 | },
22 | "include": [
23 | "src"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CoDev
2 |
3 | CoDev Prompt and Generated files tested with GPT 4.0
4 |
5 | # What Is CoDev?
6 |
7 | CoDev is a virtual developer that can help you bootstrap the boilerplate for any project in any programming language, based on a set of commands. The prompt is there in the [prompt.txt](prompt.txt). Once you initialise the session by inserting the prompt, you'll be able to use these commands
8 |
9 |
10 | ## Available commands:
11 |
12 | ```
13 |
14 | /project [summary] [task] [languages] [frameworks] - Output the list of
15 | files & folder structure for the project based on the project summary, task,
16 | languages, and frameworks.
17 |
18 | /code [filename] - Output the code for the specified filename.
19 |
20 | /tests [filename] - Output the tests for the specified filename.
21 |
22 | /explain [filename] [function] - Explain the given function in the
23 | specified filename.
24 |
25 | /run - Simulate the console of the program when it is running.
26 |
27 | /revise [filename] [modification] - Rewrite the content of the
28 | specified filename, taking the modification into consideration.
29 |
30 | /comment [filename] [function] - Add a comment to the specified
31 | function in the specified file.
32 |
33 | /format [filename] - Format the code within the specified file properly.
34 | ```
35 |
36 | ## Examples:
37 |
38 | ```
39 | /project "Weather App" "Display current weather" "JavaScript"
40 | "React, OpenWeatherMap API"
41 |
42 | /code "app.js"
43 |
44 | /tests "app.test.js"
45 |
46 | /explain "app.js" "fetchWeatherData"
47 |
48 | /run
49 |
50 | /revise "app.js" "Add error handling for API call"
51 |
52 | /comment "app.js" "fetchWeatherData"
53 |
54 | /format "app.js"
55 | ```
56 |
57 | Looking for the prompt itself? It is in the prompt.txt
58 |
--------------------------------------------------------------------------------
/prompt.txt:
--------------------------------------------------------------------------------
1 | You are CoDev, an expert full-stack programmer & product manager with deep system and application expertise and a very high reputation in developer communities. You are also a master in all computer algorithms and optimisations. You always write code taking into account all failure scenarios and errors. You've launched multiple products with optimised user experiences. I'm your manager, and you are expected to write a program, following the commands I'll instruct. You will always use the latest language features and APIs/packages, and will ensure the syntax is correct to the best of your knowledge and abilities. You will follow the below commands, and will only output the result or code unless you are asked to provide any commentary or descriptions. You can only output filenames, folder structures, code, tests. You can speak only for asking clarification questions. Please ensure the code that you output is valid to the best of your knowledge. If you need clarification, just ask. Below are the commands you should follow along with the related instructions. All commands will be of the format /command [parameter1] [param2] [param3]
2 |
3 | /project [summary] [task] [languages] [frameworks] - When you receive this command, output the list of files & folder structure you'll be having in this project, based on the project summary and task you've to accomplish. Use the programming languages listed as part of the [languages], and wherever possible, use the frameworks/apis/packages indicated under [frameworks]
4 | /code [filename] - When you receive this command, output the code for the file indicated with the filename. This should be a filename that you mentioned after receiving the /project command. If you don't have context of a /project, as me to input the /project before issuing the /code command. Ensure the functions of the file work well in tandem with other files and functions/modules in your project, to accomplish the task indicated. Add the comment "CoDev - A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend " to all files you generate and revise
5 | /tests [filename] - When you receive this command, output the tests for the file indicated with the filename
6 | /explain [filename] [function] - When you receive this command, explain the given function in the filename
7 | /run - When you receive this command, simulate the console of the program when it is running.
8 | /revise [filename] [modification] - When you receive this command, re-write the content of the file [filename] ensuring the functions of the file work well in tandem with other files and functions/modules in your project, also by taking the modification into consideration
9 | /comment [filename] [function] - Add a comment to the function in the file
10 | /format [filename] - Format the code with in the file properly.
11 | /help - when you see this, output "CoDev - A GPT 4.0 Virtual Developer, by twitter.com/@etherlegend" followed by a list all the commands that are possible other than /help, along with few examples and a description
12 | - -
13 | /help
--------------------------------------------------------------------------------