- Setup E2E backbone with Playwright framework. The architecture and folder structure should be clean and place inside e2e folder. Respect the claude code rules and current architecture. Use opus model.
- List all existing flows, case by case to a document. Likes you write the QA test cases. Each case we should have a status to track. Can break into multiple documents if need. Use sonnet model.
- Run both backend and frontend server in background.
- Use playwright MCP to run for each case. Use sonnet model.
- For each case, please check: logic, UI/UX, data to make sure everything correctly. Use sonnet model.
- Correct it if there is any issue. Use opus model.
- Write the working case in e2e code. Use sonnet model.
- Continue to next case from step 4. Loop until everything clean
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # This script will backup your Coolify instance and move everything to a new server. Docker volumes, Coolify database, and ssh keys | |
| # 1. Script must run on the source server | |
| # 2. Have all the containers running that you want to migrate | |
| # Configuration - Modify as needed | |
| sshKeyPath="$HOME/.ssh/your_private_key" # Key to destination server | |
| destinationHost="server.example.com" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function getElementByXpath(path) { | |
| return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; | |
| } | |
| function sleep(ms) { | |
| return new Promise(resolve => setTimeout(resolve, ms)); | |
| } | |
| const ID = document.body.children[0].id |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Load version control information | |
| autoload -Uz vcs_info | |
| precmd() { vcs_info } | |
| COLOR_DEF=$'\e[0m' | |
| COLOR_DIR=$'\e[38;5;197m' | |
| COLOR_GIT=$'\e[38;5;39m' | |
| # Format the vcs_info_msg_0_ variable | |
| zstyle ':vcs_info:git:*' formats '| %b' |
I have two Github accounts: oanhnn (personal) and superman (for work). I want to use both accounts on same computer (without typing password everytime, when doing git push or pull).
Use ssh keys and define host aliases in ssh config file (each alias for an account).
- Remove temp folder of Android sdk
rm -rf /Users/hauvo/Library/Android/sdk/.temp
- Clear Derived Data of Xcode
rm -rf /Users/hauvo/Library/Developer/Xcode/DerivedData
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* OCR Helper */ | |
| import { | |
| NativeEventEmitter, | |
| Platform | |
| } from 'react-native' | |
| import RNFetchBlob from 'rn-fetch-blob' | |
| import Regula from '@regulaforensics/react-native-document-reader-api' | |
| const EventManager = new NativeEventEmitter(Regula.RNRegulaDocumentReader) | |
| const DocumentReader = Regula.DocumentReader |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| defmodule MyMacro do | |
| defmacro create_some_function_by_number(name, num, do: block) do | |
| params = | |
| for n <- 1..num do | |
| {"id#{n}", Macro.var(:"id#{n}", nil)} | |
| end | |
| # We can't call Macro.escape because it is for escaping values. | |
| # In this case, we have a mixture of values "id#{n}" and | |
| # expressions "Macro.var(...)", so we build the map AST by hand. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React from 'react' | |
| import { View, ScrollView, KeyboardAvoidingView, Platform, StyleSheet } from "react-native"; | |
| import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view"; | |
| import { getStatusBarHeight, getSafeBottomHeight } from "~/Utils"; | |
| const styles = StyleSheet.create({ | |
| safeContainer: { | |
| flex: 1, | |
| backgroundColor: Colors.background, | |
| paddingTop: getStatusBarHeight(true), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ACTION = build | |
| AD_HOC_CODE_SIGNING_ALLOWED = NO | |
| ALTERNATE_GROUP = staff | |
| ALTERNATE_MODE = u+w,go-w,a+rX | |
| ALTERNATE_OWNER = grantdavis | |
| ALWAYS_SEARCH_USER_PATHS = NO | |
| ALWAYS_USE_SEPARATE_HEADERMAPS = YES | |
| APPLE_INTERNAL_DEVELOPER_DIR = /AppleInternal/Developer | |
| APPLE_INTERNAL_DIR = /AppleInternal | |
| APPLE_INTERNAL_DOCUMENTATION_DIR = /AppleInternal/Documentation |
NewerOlder