Skip to content

Instantly share code, notes, and snippets.

View feraranas's full-sized avatar
🏠
Working from home

Ferdinand feraranas

🏠
Working from home
View GitHub Profile
@feraranas
feraranas / 00 - Cursor AI Prompting Rules.md
Created September 15, 2025 04:52 — forked from aashari/00 - Cursor AI Prompting Rules.md
Cursor AI Prompting Rules - This gist provides structured prompting rules for optimizing Cursor AI interactions. It includes three key files to streamline AI behavior for different tasks.

The Autonomous Agent Prompting Framework

This repository contains a disciplined, evidence-first prompting framework designed to elevate an Agentic AI from a simple command executor to an Autonomous Principal Engineer.

The philosophy is simple: Autonomy through discipline. Trust through verification.

This framework is not just a collection of prompts; it is a complete operational system for managing AI agents. It enforces a rigorous workflow of reconnaissance, planning, safe execution, and self-improvement, ensuring every action the agent takes is deliberate, verifiable, and aligned with senior engineering best practices.

I also have Claude Code prompting for your reference: https://gist.github.com/aashari/1c38e8c7766b5ba81c3a0d4d124a2f58

T dequeue()
{
if (Head == NULL)
{
throw -1;
}
else if (Head == Tail)
{
T data = Head->data;
delete Head;
void enqueue(T data)
{
Node<T> *newest = new Node<T>(data);
if (Head == NULL)
{
Head = Tail = newest;
}
else
{
Tail->next = newest;
template <typename T>
class Node
{
private:
T data;
Node<T> *next;
Node<T> *previous;
template <typename U>
friend class DoubleLinkedList;
int tamano(Nodo<T> *&nodo)
{
if (nodo == NULL)
{
return 0;
}
else
{
return 1 + tamano(nodo->izquierda) + tamano(nodo->derecha);
}
int tamano()
{
return tamano(raiz);
}
int altura()
{
return altura(raiz);
}
int altura(Nodo<T> *&nodo)
{
int a;
if (nodo == NULL)
{
a = 0;
}
else
{
int alturaderecha = 1 + altura(nodo->derecha);
void postOrden(Nodo<T> *&nodo)
{
if (nodo->izquierda != NULL)
{
postOrden(nodo->izquierda);
}
if (nodo->derecha != NULL)
{
postOrden(nodo->derecha);
}
void inOrden(Nodo<T> *&nodo)
{
if (nodo->izquierda != NULL)
{
inOrden(nodo->izquierda);
}
cout << nodo->dato << " : ";
if (nodo->derecha != NULL)
{
inOrden(nodo->derecha);