{"id":26267477,"url":"https://github.com/oslabs-beta/trydent","last_synced_at":"2025-08-16T21:10:20.889Z","repository":{"id":154379422,"uuid":"630966146","full_name":"oslabs-beta/trydent","owner":"oslabs-beta","description":"🔱 developer tool automating Cypress code for end-to-end testing","archived":false,"fork":false,"pushed_at":"2024-02-01T23:21:30.000Z","size":17307,"stargazers_count":204,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-30T19:07:59.854Z","etag":null,"topics":["cypress","test-automation","testing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslabs-beta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"open-source-labs","custom":["https://donorbox.org/donations-to-oslabs-inc"]}},"created_at":"2023-04-21T15:19:08.000Z","updated_at":"2025-04-27T05:10:58.000Z","dependencies_parsed_at":"2024-02-02T00:43:27.833Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/trydent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oslabs-beta/trydent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Ftrydent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Ftrydent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Ftrydent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Ftrydent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/trydent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Ftrydent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265892242,"owners_count":23844991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypress","test-automation","testing"],"created_at":"2025-03-14T04:17:00.562Z","updated_at":"2025-07-19T05:07:57.487Z","avatar_url":"https://github.com/oslabs-beta.png","language":"TypeScript","funding_links":["https://github.com/sponsors/open-source-labs","https://donorbox.org/donations-to-oslabs-inc"],"categories":[],"sub_categories":[],"readme":"# Trydent\n\n  ![Banner](/assets/trydent-banner.png)\n\n\nTrydent is a **lightweight** developer tool built from the ground up to **automate** the generation of Cypress test code, **simplifying** and **streamlining** the testing process for applications.\n\nThe primary purpose of Trydent is to help developers and quality assurance engineers easily generate Cypress test code, saving time and effort while ensuring comprehensive test coverage. With Trydent, you can create tests quickly, detect issues earlier in the development process, and maintain high-quality code standards.  \n\n\u003cdiv align=\"center\" style=\"display: flex; justify-content: center; align-items: center; gap: 25px;\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB\" alt=\"React\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/-cypress-%23E5E5E5?style=for-the-badge\u0026logo=cypress\u0026logoColor=058a5e\" alt=\"Cypress\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white\" alt=\"Jest\"\u003e\n\u003c/div\u003e  \n\n\u003cbr\u003e  \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/trydent-gif.gif\" width=\"800px\"/\u003e\n\u003c/p\u003e\n\n\n## Table of Contents\n1. [Trydent](#trydent)\n2. [Features](#features)\n3. [Benefits](#benefits)\n4. [Privacy Statement](#privacy-statement)\n5. [Installation](#installation)\n6. [Scripts](#scripts)\n7. [File Structure](#file-structure)\n8. [Contributions](#contributions)\n9. [Our Team](#our-team)\n10. [License](#license)\n\n\n## Features\nTrydent offers several key features that make it a valuable tool for test generation:\n\n1. **Automated Cypress Test Code Generation**: Trydent automatically generates Cypress test code for your web application, saving you time and effort\n2. **Intuitive Developer Tool Interface**: Trydent is a Developer Tool that can be utilized directly in your browser.\n3. **Compatibility with Various Web Applications and Frameworks**: Trydent is compatible with a wide range of web applications and frameworks, including React, Angular, Vue, and more.\n\n## Benefits\nBy using Trydent, developers can enjoy numerous benefits, such as:\n1. **Increased Productivity**: Trydent automates the generation of Cypress test code, cutting down time spent on creating E2E test by *over 60%*.\n2. **Improved Test Coverage**: Trydent helps developers ensure comprehensive test coverage for their application.\n3. **Faster Development Cycles**: Trydent helps developers detect issues earlier in the development process, so teams can quickly address problems and move on to the next stage.  \n\n## Privacy Statement\nTrydent logs user inputs during development for the purpose of creating end-to-end tests. The application does not extract or store any personal data from users. However, as a precaution, developers should avoid using sensitive information when genereating test code. This ensure that no sensitive data is inadvertently recorded or stored in the generated tests.\n\n## Installation\nPlease note that Trydent is not yet available on the Chrome Web Store.  \n1. Ensure you have the required prerequisites installed:\n    - [npm](https://www.npmjs.com/)\n    - [Google Chrome](https://www.google.com/chrome/)\n2. Fork the Trydent repository to your own GitHub account.\n3. Clone your forked repository to your local machine.\n```bash\ngit clone https://github.com/\u003cyour-github-username\u003e/trydent.git\n```\n4. Navigate to the root project directory and install dependencies.\n```bash\ncd trydent\nnpm install\n```\n5. Navigate to the client directory and install dependencies.\n```bash\ncd client\nnpm install\n```\n6. Build the application in the client directory\n```bash\nnpm run build\n```\n7. Load Trydent into your Chrome extensions.\n    - Open Google Chrome and navigate to `chrome://extensions/`\n    - Enable Developer Mode\n    - Click \"Load unpacked\" and select the `extensions` directory in your local 'trydent' repository.  \n\nNow you should be able to access Trydent in the developer tools or right-click and select Trydent.\n\n\n## Scripts\nBelow are descriptions of each npm script:\n\n- `npm start`: Starts the development server using Vite.\n- `npm run build`: Runs `vite build` to build your application for production. This command generates the final, optimized assets that can be deployed to a web server. Also runs the TypeScript compiler (`tsc`) to type-check the TypeScript files and convert to js files in `extensions/bundle` folder\n- `npm run build:watch`: Runs `vite build` on watch mode, monitoring for any changes and updating bundling on save.\n- `npm run serve`: Starts a local server to preview the production build. This is for testing the built assets before deploying. This should not be used as a production server.\n- `npm test`: Runs Jest tests\n\n## File Structure\n```\n.\n├── LICENSE\n├── README.md\n├── __tests__\n│   └── client\n│       ├── components\n│       │   └── pages\n│       │       └── testCreator.test.js\n│       └── utils\n│           └── inputLogger.test.js\n├── babel.config.js\n├── client\n│   ├── components\n│   │   ├── App.tsx\n│   │   ├── TopBar.tsx\n│   │   └── pages\n│   │       ├── CodeBlock.tsx\n│   │       ├── TestPage.tsx\n│   │       └── WelcomePage.tsx\n│   ├── cypress\n│   │   ├── e2e\n│   │   │   └── tydent.cy.ts\n│   │   └── support\n│   │       ├── commands.ts\n│   │       └── e2e.ts\n│   ├── cypress.config.ts\n│   ├── index.html\n│   ├── main.tsx\n│   ├── package-lock.json\n│   ├── package.json\n│   ├── scss\n│   │   ├── CodeBlock.module.scss\n│   │   ├── EventLogger.module.scss\n│   │   ├── TestPage.scss\n│   │   ├── TopBar.module.scss\n│   │   ├── WelcomePage.module.scss\n│   │   ├── _styles.scss\n│   │   ├── _variables.scss\n│   │   ├── application.scss\n│   │   └── components\n│   │       ├── buttons.scss\n│   │       └── input.scss\n│   ├── tsconfig.json\n│   ├── tsconfig.node.json\n│   ├── utils\n│   │   ├── inputLogger.ts\n│   │   ├── testCreator.ts\n│   │   └── types\n│   │       └── types.ts\n│   └── vite.config.ts\n├── extension\n│   ├── background.js\n│   ├── bundles\n│   │   ├── components\n│   │   │   ├── App.js\n│   │   │   ├── TopBar.js\n│   │   │   └── pages\n│   │   │       ├── CodeBlock.js\n│   │   │       ├── TestPage.js\n│   │   │       └── WelcomePage.js\n│   │   ├── cypress.config.js\n│   │   ├── index.html\n│   │   ├── main.js\n│   │   ├── utils\n│   │   │   ├── testCreator.js\n│   │   │   └── types\n│   │   │       └── types.js\n│   │   └── vite.config.js\n│   ├── content-script.js\n│   ├── devtool.html\n│   ├── devtools.js\n│   ├── manifest.json\n│   ├── panel.html\n│   └── panel.js\n├── package-lock.json\n└── package.json\n```\n\n## Contributions\nWe welcome contributions from the community. If you are interested in contributing to this project, please refer to our [Contributing Guidelines]() for more information.\n\n\n## Our Team \n\n\u003ctable style=\"width:40%;\"\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"./assets/team/alastair-s.png\" style=\"width:6rem;\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cstrong\u003eAlastair Scheuermann\u003c/strong\u003e\u003cbr/\u003e\n      \u003ca href=\"https://github.com/alastairsounds\"\u003eGitHub\u003c/a\u003e\u003cbr/\u003e\n      \u003ca href=\"https://www.linkedin.com/in/alastairsounds/\"\u003eLinkedIn\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"./assets/team/eric-d.png\" style=\"width:6rem;\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cstrong\u003eEric Dunn\u003c/strong\u003e\u003cbr/\u003e\n      \u003ca href=\"https://github.com/ELDunn\"\u003eGitHub\u003c/a\u003e\u003cbr/\u003e\n      \u003ca href=\"https://www.linkedin.com/in/ericldunn/\"\u003eLinkedIn\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"./assets/team/jacob-g.png\" style=\"width:6rem;\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cstrong\u003eJacob Gillan\u003c/strong\u003e\u003cbr/\u003e\n      \u003ca href=\"https://github.com/JakeGillan/\"\u003eGitHub\u003c/a\u003e\u003cbr/\u003e\n      \u003ca href=\"https://www.linkedin.com/in/jacob-gillan/\"\u003eLinkedIn\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"./assets/team/nicholas-l.png\" style=\"width:6rem;\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cstrong\u003eNicholas Ly\u003c/strong\u003e\u003cbr/\u003e\n      \u003ca href=\"https://github.com/nicholas-l-ly\"\u003eGitHub\u003c/a\u003e\u003cbr/\u003e\n      \u003ca href=\"https://www.linkedin.com/in/nicholasly/\"\u003eLinkedIn\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"./assets/team/sam-l.png\" style=\"width:6rem;\" /\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cstrong\u003eSamuel Lee\u003c/strong\u003e\u003cbr/\u003e\n      \u003ca href=\"https://github.com/leesamuel423\"\u003eGitHub\u003c/a\u003e\u003cbr/\u003e\n      \u003ca href=\"https://www.linkedin.com/in/leesamuel423/\"\u003eLinkedIn\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## License\nThis project is licensed under the terms of the [MIT LICENSE](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Ftrydent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Ftrydent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Ftrydent/lists"}