Skip to content

Instantly share code, notes, and snippets.

View vigo's full-sized avatar
📺
Everything that has a beginning has an end.

Uğur Özyılmazel vigo

📺
Everything that has a beginning has an end.
View GitHub Profile
@peterc
peterc / CONVENTIONS.md
Last active April 5, 2025 17:55
CONVENTIONS.md file for AI Rails 8 development
  • You MUST NOT try and generate a Rails app from scratch on your own by generating each file. For a NEW app you MUST use rails new first to generate all of the boilerplate files necessary.
  • Create an app in the current directory with rails new .
  • Use Tailwind CSS for styling. Use --css tailwind as an option on the rails new call to do this automatically.
  • Use Ruby 3.2+ and Rails 8.0+ practices.
  • Use the default Minitest approach for testing, do not use RSpec.
  • Default to using SQLite in development. rails new will do this automatically but take care if you write any custom SQL that it is SQLite compatible.
  • An app can be built with a devcontainer such as rails new myapp --devcontainer but only do this if requested directly.
  • Rails apps have a lot of directories to consider, such as app, config, db, etc.
  • Adhere to MVC conventions: singular model names (e.g., Product) map to plural tables (products); controllers are plural.
  • Guard against incapable browsers accessing controllers with `allo
@SafeEval
SafeEval / 000001_init_schema.down.sql
Last active March 20, 2025 15:44
Example of using SQLite with Golang. Create an in-memory DB, with load/save to disk and embedded migrations.
-- file: migrations/00001_init_schema.down.sql
DROP TABLE users;
@potibm
potibm / gist:e0dacccbacd0293c021d84d2cbce2adc
Last active March 29, 2024 15:31
GitHub Action to submit changed Urls to IndexNow
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Build Jekyll site
- name: Generate CSV with MD5 Hashes
run: |
cd build
find . -type f -exec md5sum {} + | sed 's/\.\///' | sort -t $'\t' -k 2 > file_hashes.csv
working-directory: ${{ github.workspace }}
@schacon
schacon / better-git-branch.sh
Created January 13, 2024 18:41
Better Git Branch output
#!/bin/bash
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
NO_COLOR='\033[0m'
BLUE='\033[0;34m'
YELLOW='\033[0;33m'
NO_COLOR='\033[0m'
@LiquidityC
LiquidityC / Makefile
Last active March 21, 2025 07:48
Generic drop in Makefile
VERSION = \"1.0.0\"
PREFIX ?= out
INCDIR = include
SRCDIR = src
LANG = c
OBJDIR = .obj
MODULE ?= binary_name
CC ?= gcc
@ayoubzulfiqar
ayoubzulfiqar / folder_structure.md
Created September 5, 2023 06:12
The Folder Structure for Every Golang Project

Go - The Ultimate Folder Structure

Organizing your Go (Golang) project's folder structure can help improve code readability, maintainability, and scalability. While there is no one-size-fits-all structure, here's a common folder structure for a Go project:

project-root/
    ├── cmd/
    │   ├── your-app-name/
    │   │   ├── main.go         # Application entry point
    │   │   └── ...             # Other application-specific files
@candlerb
candlerb / go-project-layout.md
Last active October 1, 2024 08:33
Suggestions for go project layout

If someone asked me the question "what layout should I use for my Go code repository?", I'd start by asking back "what are you building: an executable, or a library?"

Single executable

Stage 1: single source file

Create a directory named however you want your final executable to be called (e.g. "mycommand"), change into that directory, and create the following files:

@cristaloleg
cristaloleg / golangci.yaml
Created March 28, 2023 07:01
Go linters configuration, the right version.
# See: https://olegk.dev/go-linters-configuration-the-right-version
run:
# Depends on your hardware, my laptop can survive 8 threads.
concurrency: 8
# I really care about the result, so I'm fine to wait for it.
timeout: 30m
# Fail if the error was met.
@vigo
vigo / django-bash-completion.bash
Created November 30, 2022 12:56
django bash completion
# #########################################################################
# This bash script adds tab-completion feature to django-admin.py and
# manage.py.
#
# Testing it out without installing
# =================================
#
# To test out the completion without "installing" this, just run this file
# directly, like so:
#
@huytd
huytd / wordle.md
Last active April 1, 2025 00:28
Wordle in less than 50 lines of Bash

image

How to use:

./wordle.sh

Or try the unlimit mode: