- Test-Driven Development (TDD) with pytest: Always write a failing test before writing implementation code (Red-Green-Refactor). Use
pytest
andpytest-fixtures
for test setup, execution, and teardown. - KISS (Keep It Simple, Stupid): Favor the simplest solution that meets the requirements.
- DRY (Don't Repeat Yourself): Avoid code duplication. Extract reusable logic into functions or classes.
- Standard Libraries and Tools: Utilize standard Python libraries (like
datetime
for date/time,requests
for HTTP requests, andlogging
) and external libraries, includingBeautifulSoup4
for HTML parsing, to avoid reinventing the wheel. Favor well-maintained and widely-used libraries. - YAGNI (You Ain't Gonna Need It): Don't implement features or functionality unless they are currently required.
- SOLID Principles & Extensibility: Adhere to SOLID principles, promoting maintainability, testability, and future extension. Consider potential future requi
This file contains 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
{ | |
"customModes": [ | |
{ | |
"slug": "sparc", | |
"name": "⚡️ SPARC Orchestrator", | |
"roleDefinition": "You are SPARC, the orchestrator of complex workflows. You break down large objectives into delegated subtasks aligned to the SPARC methodology. You ensure secure, modular, testable, and maintainable delivery using the appropriate specialist modes.", | |
"customInstructions": "Follow SPARC:\n\n1. Specification: Clarify objectives and scope. Never allow hard-coded env vars.\n2. Pseudocode: Request high-level logic with TDD anchors.\n3. Architecture: Ensure extensible system diagrams and service boundaries.\n4. Refinement: Use TDD, debugging, security, and optimization flows.\n5. Completion: Integrate, document, and monitor for continuous improvement.\n\nUse `new_task` to assign:\n- spec-pseudocode\n- architect\n- code\n- tdd\n- debug\n- security-review\n- docs-writer\n- integration\n- post-deployment-monitoring-mode\n- refinement-optimization-mode\n\nValidate:\n✅ Files < 500 lines\n✅ No hard-coded |
Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.
- Follow standard conventions.
- Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
- Boy scout rule. Leave the campground cleaner than you found it.
- Always find root cause. Always look for the root cause of a problem.
This file contains 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
- After making changes, ALWAYS make sure to start up a new server so I can test it. | |
- Always look for existing code to iterate on instead of creating new code. | |
- Do not drastically change the patterns before trying to iterate on existing patterns. | |
- Always kill all existing related servers that may have been created in previous testing before trying to start a new server. | |
- Always prefer simple solutions | |
- Avoid duplication of code whenever possible, which means checking for other areas of the codebase that might already have similar code and functionality | |
- Write code that takes into account the different environments: dev, test, and prod | |
- You are careful to only make changes that are requested or you are confident are well understood and related to the change being requested | |
- When fixing an issue or bug, do not introduce a new pattern or technology without first exhausting all options for the existing implementation. And if you finally do this, make sure to remove the old implementation afterwards so we d |
This file contains 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
"Code Gen Instruction": { | |
"prefix": "instruction-codegen", | |
"body": [ | |
"\t\"github.copilot.chat.codeGeneration.instructions\": [", | |
"\t\t{", | |
"\t\t\t\"text\": \"use JavaScript for all code. use camelCase for variable names, PascalCase for class names. Use spaces for indentation. Use single quotes for strings. Use 2 spaces for indentation.\"", | |
"\t\t}", | |
"\t]," | |
] |
This file contains 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 | |
# Variables | |
SUBSCRIPTION_ID=$(az account show --query id --output tsv) # Subscription ID | |
ROLE_NAME="8e3af657-a8ff-443c-a75c-2fe8c4bcb635" # Owner role | |
ROLE_DEFINITION_ID="/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.Authorization/roleDefinitions/${ROLE_NAME}" # Role definition resource ID | |
PRINCIPAL_ID=$(az ad user show --id $(az account show --query user.name -o tsv) --query id -o tsv) # Your account object ID | |
ROLE_ASSIGNMENT_ID=$(uuidgen) # Generate a unique GUID for the role assignment | |
JUSTIFICATION="I need access to [$(az account show --query name --output tsv)] Azure subscription" # Justification for the role assignment | |
API_VERSION="2020-10-01" # API version |
This file contains 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
############################################################### | |
# Nix for Everyone: Unleash Devbox for Simplified Development # | |
############################################################### | |
# Additional Info: | |
# - Devbox: https://www.jetpack.io/devbox | |
# - Say Goodbye to Containers - Ephemeral Environments with Nix Shell: https://youtu.be/0ulldVwZiKA | |
# - Say Goodbye to Makefile - Use Taskfile to Manage Tasks in CI/CD Pipelines and Locally: https://youtu.be/Z7EnwBaJzCk | |
######### |
This file contains 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
if "test ! -d ~/.tmux/plugins/tpm" \ | |
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm'" |
This file contains 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 boto3 | |
import time | |
## | |
# First function will try to filter for EC2 instances that contain a tag named `Scheduled` which is set to `True` | |
# If that condition is meet function will compare current time (H:M) to a value of the additional tags which defines the trigger `ScheduleStop` or `ScheduleStart`. | |
# Value of the `ScheduleStop` or `ScheduleStart` must be in the following format `H:M` - example `09:00` | |
# | |
# In order to trigger this function make sure to setup CloudWatch event which will be executed every minute. | |
# Following Lambda Function needs a role with permission to start and stop EC2 instances and writhe to CloudWatch logs. |
This file contains 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
sudo amazon-linux-extras install epel -y | |
sudo yum install stress -y |
NewerOlder