npm init -y
Create a folder called src and add an empty index.js file. The code that webpack compiles goes in here including any Javascript modules and the main Tailwind file.
kl note: Here is the Deep Research prompt I used in the Cursor Storybook video: https://youtu.be/gXmakVsIbF0 | |
For background, this is a real-world tech feasibility task I am working on where I am trying to build out a realistic-looking fake website for an AI browsing agent to use to complete tasks. I found this random site that was close enough to what I wanted so I used it as a shortcut instead of taking the time to write out a full PRD or anything. | |
...above this was just the transcript and the initial guidance... | |
Act as a technical fellow and create a detailed, step-by-step guide to recreating this software using a modern stack. Here is the cursorrules for this repository: | |
# .cursorrules | |
Components & Naming |
# Source: https://gist.github.com/b8e3d6bc4b8ed6b31b816a8ca07735db | |
################################################################## | |
# Do NOT Use Docker Compose! Develop In Kubernetes (With Okteto) # | |
# https://youtu.be/RTo9Pvo_yiY # | |
################################################################## | |
# Additional Info: | |
# - Okteto: https://okteto.com | |
# - Zeet: https://go.zeet.co/devopstoolkit |
This gist I write, because I couldn't find step by step instructions | |
how to install and start postgresql locally (using conda within a conda environment - with the result | |
that you can run it without sudo/admin rights on your machine!) | |
and not globally in the operating system (which requires sudo/admin rights on that machine). | |
I hope, this will help especially people new to postgresql (and those who don't have sudo/admin rights on a specific machine but want | |
to run postgresql there)! | |
#################################### | |
# create conda environment |
The MIT License (MIT) | |
Copyright (c) Plotly, Inc | |
Permission is hereby granted, free of charge, to any person obtaining a copy | |
of this software and associated documentation files (the "Software"), to deal | |
in the Software without restriction, including without limitation the rights | |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
copies of the Software, and to permit persons to whom the Software is | |
furnished to do so, subject to the following conditions: |
// This function converts the string to lowercase, then perform the conversion | |
function toLowerCaseNonAccentVietnamese(str) { | |
str = str.toLowerCase(); | |
// We can also use this instead of from line 11 to line 17 | |
// str = str.replace(/\u00E0|\u00E1|\u1EA1|\u1EA3|\u00E3|\u00E2|\u1EA7|\u1EA5|\u1EAD|\u1EA9|\u1EAB|\u0103|\u1EB1|\u1EAF|\u1EB7|\u1EB3|\u1EB5/g, "a"); | |
// str = str.replace(/\u00E8|\u00E9|\u1EB9|\u1EBB|\u1EBD|\u00EA|\u1EC1|\u1EBF|\u1EC7|\u1EC3|\u1EC5/g, "e"); | |
// str = str.replace(/\u00EC|\u00ED|\u1ECB|\u1EC9|\u0129/g, "i"); | |
// str = str.replace(/\u00F2|\u00F3|\u1ECD|\u1ECF|\u00F5|\u00F4|\u1ED3|\u1ED1|\u1ED9|\u1ED5|\u1ED7|\u01A1|\u1EDD|\u1EDB|\u1EE3|\u1EDF|\u1EE1/g, "o"); | |
// str = str.replace(/\u00F9|\u00FA|\u1EE5|\u1EE7|\u0169|\u01B0|\u1EEB|\u1EE9|\u1EF1|\u1EED|\u1EEF/g, "u"); | |
// str = str.replace(/\u1EF3|\u00FD|\u1EF5|\u1EF7|\u1EF9/g, "y"); |