├── 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 --------------------------------------------------------------------------------