| name | description |
|---|---|
osgrep |
Run lightweight semantic grep over the current repository using the osgrep CLI (natural-language search, JSON output, hot daemon). |
Note: path should be ~/.factory/skills/osgrep/SKILL.md
| { | |
| "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 |
| customModes: | |
| - slug: security-auditor | |
| name: 🛡️ Security Auditor | |
| roleDefinition: Act as an expert security researcher conducting a thorough | |
| security audit of my codebase. Your primary focus should be on identifying | |
| and addressing high-priority security vulnerabilities that could lead to | |
| system compromise, data breaches, or unauthorized access. | |
| customInstructions: >- | |
| Follow this structured approach: |
| This is an LLM-assisted workflow for creating a product requirement document using LLM assistance for task completion. | |
| It keeps track of inputs for the template and works with the user to acquire them, finally generating a completed PRD | |
| prompt when all slots are addressed. | |
| credit: Ian Nuttall - https://gist.github.com/iannuttall/f3d425ad5610923a32397a687758ebf2 | |
| **System-Prompt for Facilitating Chat-Based PRD Creation** |
| addEventListener('fetch', event => { | |
| event.respondWith(handleRequest(event.request)) | |
| }) | |
| async function handleRequest(request) { | |
| const headers = { | |
| 'Access-Control-Allow-Origin': '*', | |
| 'Content-Type': 'application/json' | |
| } |
There are many approaches to implementing a reuse of a common preset for Docker services for multiple environments, such as production and local environments.
This makes it possible to ensure the highest consistency for different environments with the same code-base. Implementing reuse of docker compose options also makes it easier to manage them.
I found on github a project called serversideup/spin. They took an approach using a feature called Docker overrides, to change some properties of common services for different environments.
After reading through their documentation, I realized that there are a few real-life cases where this project can not implement (or is difficult to archive).
| import { defineAsyncComponent } from 'vue' | |
| const Content = defineAsyncComponent(() => import('./component-content.js')) | |
| export default { | |
| name: 'App', | |
| components: { Content }, | |
| template: /*html*/` | |
| <Content /> | |
| ` |
Unless otherwise noted (either in this file or in a file's copyright section) the contents of this gist are Copyright ©️2020 by Christopher Allen, and are shared under spdx:Creative Commons Attribution Share Alike 4.0 International (CC-BY-SA-4.) open-source license.
If you more tips and advice like these, you can become a monthly patron on my GitHub Sponsor Page for as little as $5 a month; and your contributions will be multipled, as GitHub is matching the first $5,000! This gist is all about Homebrew, so if you like it you can support it by donating to them or becoming one of their Github Sponsors.
A quick cheatsheet of useful snippet for Flutter
A widget is the basic type of controller in Flutter Material.
There are two type of basic Widget we can extend our classes: StatefulWidget or StatelessWidget.
StatefulWidget are all the widget that interally have a dynamic value that can change during usage. It can receive an input value in the constructor or reference to functions. You need to create two classes like:
| #!/bin/bash | |
| # source http://stackoverflow.com/questions/23222616/copy-all-keys-from-one-db-to-another-in-redis | |
| #set connection data accordingly | |
| source_host=localhost | |
| source_port=6379 | |
| source_db=1 | |
| target_host=localhost | |
| target_port=6379 | |
| target_db=2 |