{"id":30418689,"url":"https://github.com/qompassai/qonfig","last_synced_at":"2026-04-26T22:03:06.102Z","repository":{"id":307199939,"uuid":"1025246837","full_name":"qompassai/qonfig","owner":"qompassai","description":"Qonfig: A Quality Dotfile Manager","archived":false,"fork":false,"pushed_at":"2026-01-19T06:20:06.000Z","size":369,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T14:13:16.401Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qompassai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE-AGPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"phaedrusflow","liberapay":"qompassai","patreon":"qompassai","open_collective":"qompassai","custom":["https://www.buymeacoffee.com/phaedrusflow","https://monero.com/donate/?address=42HGspSFJQ4MjM5ZusAiKZj9JZWhfNgVraKb1eGCsHoC6QJqpo2ERCBZDhhKfByVjECernQ6KeZwFcnq8hVwTTnD8v4PzyH"]}},"created_at":"2025-07-24T01:10:43.000Z","updated_at":"2026-01-19T06:20:10.000Z","dependencies_parsed_at":"2025-08-14T04:08:13.664Z","dependency_job_id":"9234473f-4cc1-450a-b85b-98f16ed6b753","html_url":"https://github.com/qompassai/qonfig","commit_stats":null,"previous_names":["qompassai/qonfig"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/qompassai/qonfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qompassai%2Fqonfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qompassai%2Fqonfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qompassai%2Fqonfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qompassai%2Fqonfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qompassai","download_url":"https://codeload.github.com/qompassai/qonfig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qompassai%2Fqonfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32314117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T21:09:39.134Z","status":"ssl_error","status_checked_at":"2026-04-26T21:09:21.240Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-22T07:47:12.868Z","updated_at":"2026-04-26T22:03:06.077Z","avatar_url":"https://github.com/qompassai.png","language":"Python","funding_links":["https://github.com/sponsors/phaedrusflow","https://liberapay.com/qompassai","https://patreon.com/qompassai","https://opencollective.com/qompassai","https://www.buymeacoffee.com/phaedrusflow","https://monero.com/donate/?address=42HGspSFJQ4MjM5ZusAiKZj9JZWhfNgVraKb1eGCsHoC6QJqpo2ERCBZDhhKfByVjECernQ6KeZwFcnq8hVwTTnD8v4PzyH"],"categories":[],"sub_categories":[],"readme":"\u003c!------------ /qompassai/qonfig/README.md----------------\u003e\n\u003c!------------------- Qompass AI Qonfig ------------------\u003e\n\u003c!-- Copyright (C) 2025 Qompass AI, All rights reserved --\u003e\n\u003c!--------------------------------------------------------\u003e\n\n\u003ch2\u003e Qompass AI Qonfig \u003c/h3\u003e\n\n  \u003ch3\u003e A Quality Dotfile Manager \u003c/h3\u003e\n\n![Repository Views](https://komarev.com/ghpvc/?username=qompassai-qonfig)\n![GitHub all releases](https://img.shields.io/github/downloads/qompassai/qonfig/total?style=flat-square)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://wiki.archlinux.org/title/XDG_Base_Directory\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/XDG/Dotfiles-1793D1?style=for-the-badge\u0026logo=linux\u0026logoColor=white\"\n      alt=\"XDG and Dotfiles\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/XDG_Spec-blue?style=flat-square\" alt=\"XDG Specification\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://wiki.archlinux.org/title/Dotfiles\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Dotfiles_Documentation-blue?style=flat-square\" alt=\"Dotfiles Documentation\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/topics/dotfiles\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Dotfiles_Tutorials-green?style=flat-square\" alt=\"Dotfiles Tutorials\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://www.gnu.org/licenses/agpl-3.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-AGPL%20v3-blue.svg\"\n      alt=\"License: AGPL v3\"\u003e\u003c/a\u003e\n  \u003ca href=\"./LICENSE-QCDA\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Q--CDA-lightgrey.svg\"\n      alt=\"License: Q-CDA\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\n      style=\"font-size: 1.4em; font-weight: bold; padding: 15px; background: #667eea; color: white; border-radius: 10px; cursor: pointer; margin: 10px 0;\"\u003e\n      \u003cstrong\u003e▶️ Qompass AI Quick Start\u003c/strong\u003e\n    \u003c/summary\u003e\n    \u003cdiv style=\"background: #f8f9fa; padding: 15px; border-radius: 5px; margin-top: 10px; font-family: monospace;\"\u003e\n\n```sh  \ncurl -fsSL https://raw.githubusercontent.com/qompassai/qonfig/main/scripts/quickstart.sh | sh\n```\n  \u003c/div\u003e\n\t\u003cblockquote style=\"font-size: 1.2em; line-height: 1.8; padding: 25px; background: #f8f9fa; border-left: 6px solid #667eea; border-radius: 8px; margin: 15px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\u003e\n        \u003cdetails\u003e\n          \u003csummary\n              style=\"font-size: 1em; font-weight: bold; padding: 10px; background: #e9ecef; color: #333; border-radius: 5px; cursor: pointer; margin: 10px 0;\"\u003e\n              \u003cstrong\u003e📄 We advise you read the script BEFORE running it 😉\u003c/strong\u003e\n            \u003c/summary\u003e\n            \u003cpre style=\"background: #fff; padding: 15px; border-radius: 5px; border: 1px solid #ddd; overflow-x: auto;\"\u003e\n#!/usr/bin/env bash\n# /qompassai/qonfig/scripts/quickstart.sh\n# Qompass AI Qonfig Quickstart\n# Copyright (C) 2025 Qompass AI, All rights reserved\n####################################################\nset -Eeuo pipefail\nINSTALL_DIR=\"${HOME}/.local/bin\"\nQONFIG_SCRIPT=\"bin/qonfig\"\nSCRIPT_NAME=\"qonfig\"\nUSE_SYMLINK=false\nechoerrcolor() {\n\tif (($colors)); then\n\t\tcase $1 in\n\t\tnone)\n\t\t\tstr=\"\\e[0;37m\"\n\t\t\t;;\n\t\tgreen)\n\t\t\tstr=\"\\e[0;32m\"\n\t\t\t;;\n\t\tred)\n\t\t\tstr=\"\\e[0;31m\"\n\t\t\t;;\n\t\tblue)\n\t\t\tstr=\"\\e[1;34m\"\n\t\t\t;;\n\t\tdarkcyan)\n\t\t\tstr=\"\\e[0;36m\"\n\t\t\t;;\n\t\tdarkgreen)\n\t\t\tstr=\"\\e[1;32m\"\n\t\t\t;;\n\t\tdarkred)\n\t\t\tstr=\"\\e[1;31m\"\n\t\t\t;;\n\t\tmagenta)\n\t\t\tstr=\"\\e[0;35m\"\n\t\t\t;;\n\t\tdarkmagenta)\n\t\t\tstr=\"\\e[1;35m\"\n\t\t\t;;\n\t\tesac\n\t\techo -ne $str \u003e\u00262\n\tfi\n}\nechoerrnocolor() {\n\tif (($colors)); then\n\t\techo -ne \"\\e[0m\" \u003e\u00262\n\tfi\n}\nechoerr() {\n\tif [ $# -gt 1 ]; then\n\t\tcolor=$1\n\t\tshift\n\t\techoerrcolor $color\n\tfi\n\techo \"$@\" \u003e\u00262\n\tif [ $color ]; then\n\t\techoerrnocolor\n\tfi\n}\nprintferr() { printf \"$@\" \u003e\u00262; }\n$(which git \u003e\u0026/dev/null)\nif [ $? -eq 1 ]; then\n\techoerr red \"Git not found! Confirm it is indeed installed and reachable.\"\n\texit\nfi\nappendshell() {\n\tcase \"$1\" in\n\tstart)\n\t\tadd='echo \"Setting up Qonfig. Please do not ^C.\" \u003e\u00262;'\n\t\t;;\n\tmkprefix)\n\t\tadd=\"mkdir -p $2; cd $2;\"\n\t\t;;\n\tgitinit)\n\t\tadd='git init;'\n\t\t;;\n\tgitaddsub)\n\t\tadd='git submodule add https://github.com/qompassai/qonfig;'\n\t\t;;\n\tgitignoredirty)\n\t\tadd='git config -f .gitmodules submodule.qonfig.ignore dirty;'\n\t\t;;\n\tgitinstallinstall)\n\t\tadd='cp qonfig/tools/git-submodule/install .;'\n\t\t;;\n\tensureparentdirs)\n\t\tadd=\"mkdir -p $2; rmdir $2;\"\n\t\t;;\n\tmv)\n\t\tadd=\"mv $2 $3;\"\n\t\t;;\n\techoconfig)\n\t\tadd='echo -e \"'$2'\" \u003e\u003e '$3';'\n\t\t;;\n\truninstaller)\n\t\tadd='./install;'\n\t\t;;\n\tgitsetname)\n\t\tif (($3)); then\n\t\t\tglobal=' --global '\n\t\telse\n\t\t\tglobal=' '\n\t\tfi\n\t\tadd='git config'$global'user.name \"'$2'\";'\n\t\t;;\n\tgitsetemail)\n\t\tif (($3)); then\n\t\t\tglobal=' --global '\n\t\telse\n\t\t\tglobal=' '\n\t\tfi\n\t\tadd='git config'$global'user.email \"'$2'\";'\n\t\t;;\n\tgitinitialcommit)\n\t\tadd='git add -A; git commit -m \"Initial commit\";'\n\t\t;;\n\tesac\n\tsetupshell=$setupshell' '$add\n}\ntestmode=0\nverboseconf=0\ndumpconf=0\npreview=1\ncolors=0\nwhile [ $# -ne 0 ]; do\n\tcase \"$1\" in\n\ttest)\n\t\ttestmode=1\n\t\techoerr darkcyan \"Test mode enabled.\"\n\t\t;;\n\tno-test)\n\t\ttestmode=0\n\t\techoerr darkcyan \"Test mode disabled.\"\n\t\t;;\n\tverbose-config)\n\t\tverboseconf=1\n\t\techoerr darkcyan \"Verbose configuration file active.\"\n\t\t;;\n\tno-verbose-config)\n\t\tverboseconf=0\n\t\techoerr darkcyan \"Concise configuration file active.\"\n\t\t;;\n\tdump-config)\n\t\tdumpconf=1\n\t\techoerr darkcyan \"Will dump config to stdout.\"\n\t\t;;\n\tno-dump-config)\n\t\tdumpconf=0\n\t\techoerr darkcyan \"Will not dump config to stdout.\"\n\t\t;;\n\tpreview)\n\t\tpreview=1\n\t\techoerr darkcyan \"Will show commands to be executed.\"\n\t\t;;\n\tno-preview)\n\t\tpreview=0\n\t\techoerr darkcyan \"Will not show commands to be executed.\"\n\t\t;;\n\tcolors)\n\t\tcolors=1\n\t\techoerr darkcyan \"Will print with colors.\"\n\t\t;;\n\tno-colors)\n\t\tcolors=0\n\t\techoerr darkcyan \"No color.\"\n\t\t;;\n\t*)\n\t\techoerr red \"Unfamiliar configuration option\"\n\t\t;;\n\tesac\n\tshift\ndone\npaths=(\n\t\"$HOME/.Xdefaults\"\n\t\"$HOME/.Xmodmap\"\n\t\"$HOME/.Xresources\"\n\t\"$HOME/.bash_aliases\"\n\t\"$HOME/.bash_logout\"\n\t\"$HOME/.bash_profile\"\n\t\"$HOME/.bashrc\"\n\t\"$HOME/.conkyrc\"\n\t\"$HOME/.gitconfig\"\n\t\"$HOME/.i3\"\n\t\"$HOME/.i3status.conf\"\n\t\"$HOME/.profile\"\n\t\"$HOME/.ssh/config\"\n\t\"$HOME/.tmux.conf\"\n\t\"$HOME/.vimperatorrc\"\n\t\"$HOME/.vimrc\"\n\t\"$HOME/.vim/vimrc\"\n\t\"$HOME/.xinitrc\"\n\t\"$HOME/bin\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/awesome\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/dmenu\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/i3\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/obmenu-generator\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/openbox\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/pianobar\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/redshift\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/tint2\"\n\t\"${XDG_CONFIG_HOME:-$HOME/.config}/vimprobable\"\n\t\"$HOME/.zprofile\"\n\t\"$HOME/.zshenv\"\n\t\"$HOME/.zshrc\"\n)\nsetupshell=''\ndotclean=''\ndotlink=''\ndotshell=''\ninstallerrun=1\nechoerr blue \"Welcome to the Qonfig generator\"\nechoerr blue \"Please be aware that if you have a complicated setup, you may need more customization than this script offers.\"\nechoerr\nechoerr blue \"At any time, press ^C to quit. No changes will be made until you confirm.\"\nechoerr\nappendshell start\nprefix=\"{$HOME}/.dotfiles\"\nprefixfull=\"${prefix/\\~/${HOME}}\"\nif ! [ -d \"$prefixfull\" ]; then\n\techoerr darkcyan \"${prefix} is not in use.\"\nelse\n\techoerr darkcyan \"${prefix} exists and may have another purpose than ours.\"\nfi\nwhile true; do\n\tread -r -p \"Where do you want your dotfiles repository to be? ($prefix) \" answer\n\tif [ -z \"$answer\" ]; then\n\t\tbreak\n\telse\n\t\techoerr red \"FEATURE NOT YET SUPPORTED.\"\n\t\techoerr red \"Sorry for misleading you.\"\n\t\techoerr\n\tfi\ndone\nappendshell mkprefix \"$prefix\"\nappendshell gitinit\nwhile true; do\n\tread -p \"Shall we add Qonfig as a submodule (default)? (Y/n) \" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer='y'\n\tfi\n\tcase \"$answer\" in\n\tY* | y*)\n\t\techoerr green \"Will do.\"\n\t\tappendshell gitaddsub\n\t\tappendshell gitignoredirty\n\t\tappendshell gitinstallinstall\n\t\tbreak\n\t\t;;\n\tN* | n*)\n\t\techoerr darkgreen \"Okay, I shall not. You will need to manually set up your install script.\"\n\t\tinstallerrun=0\n\t\tbreak\n\t\t;;\n\t*)\n\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t;;\n\tesac\ndone\nwhile true; do\n\tread -p \"Do you want Qonfig to clean ~/ of broken links added by Qonfig (recommended) (Y/n) \" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer='y'\n\tfi\n\tcase \"$answer\" in\n\tY* | y*)\n\t\techoerr green \"I will ask Qonfig to clean.\"\n\t\tdotclean=\"- clean: ['~']\"\n\t\tbreak\n\t\t;;\n\tN* | n*)\n\t\techoerr darkgreen \"Not asking Qonfig to clean.\"\n\t\tbreak\n\t\t;;\n\t*)\n\t\techoerr red \"Only Y/y/N/n are accepted as answers, please try again: ${answer}\"\n\t\t;;\n\tesac\ndone\ndeclare -a linksection\ndeclare -i i\nfor item in ${paths[*]}; do\n\tfullname=\"${item/\\~/$HOME}\"\n\tif [ -h $fullname ]; then\n\t\tcontinue\n\tfi\n\tif [ -f $fullname ] || [ -d $fullname ]; then\n\t\twhile true; do\n\t\t\tread -p \"I found ${item}, do you want to Qonfig it? (Y/n) \" answer\n\t\t\tif [ -z \"$answer\" ]; then\n\t\t\t\tanswer='y'\n\t\t\tfi\n\t\t\tcase \"$answer\" in\n\t\t\tY* | y*)\n\t\t\t\tlinksection[$i]=$item\n\t\t\t\ti=$i+1\n\t\t\t\techoerr green \"Qonfigured!\"\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\tN* | n*)\n\t\t\t\techoerr darkgreen \"Not added to Qonfig.\"\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\t*)\n\t\t\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t\t\t;;\n\t\t\tesac\n\t\tdone\n\tfi\ndone\ndotlink='- link:'\nnewline='\\n'\nhspace='\\x20\\x20\\x20\\x20'\nfor item in ${linksection[*]}; do\n\tfullname=\"${item/\\~/$HOME}\"\n\tfirstdot=$(echo \"$item\" | sed -n \"s/[.].*//p\" | wc -c)\n\tfirstslash=$(echo \"$item\" | sed -n \"s/[/].*//p\" | wc -c)\n\tif [ -d $fullname ]; then\n\t\titempath=$item'/'\n\telse\n\t\titempath=$item\n\tfi\n\tif [[ $firstdot -gt $firstslash ]]; then\n\t\titempath=${itempath:$firstdot}\n\telse\n\t\titempath=${itempath:$firstslash}\n\tfi\n\tnextslash=$(echo \"$itempath\" | sed -n \"s/[/].*//p\" | wc -c)\n\tif [[ $nextslash -gt 0 ]]; then\n\t\tentryisdir='true'\n\telse\n\t\tentryisdir='false'\n\tfi\n\tif ((\"$verboseconf\")); then\n\t\tnew_entry=$newline$hspace$item':'\n\t\tnew_entry=$new_entry$newline$hspace$hspace'path: '$itempath\n\t\tnew_entry=$new_entry$newline$hspace$hspace'create: '$entryisdir\n\t\tnew_entry=$new_entry$newline$hspace$hspace'relink: false'\n\t\tnew_entry=$new_entry$newline$hspace$hspace'force: false'\n\telif [[ $entryisdir = 'false' ]]; then\n\t\tnew_entry=$newline$hspace$item': '$itempath\n\telse\n\t\tnew_entry=$newline$hspace$item':'\n\t\tnew_entry=$new_entry$newline$hspace$hspace'path: '$itempath\n\t\tnew_entry=$new_entry$newline$hspace$hspace'create: '$entryisdir\n\tfi\n\tappendshell ensureparentdirs $itempath\n\tappendshell mv $item $itempath\n\tdotlink=\"$dotlink$new_entry\"\ndone\nexport qonfigyaml=\"$dotclean$newline$newline$dotlink$newline$newline$dotshell\"\nappendshell echoconfig \"$qonfigyaml\" 'qonfig.yaml'\ngetgitinfo=0\ngitinfoglobal=0\nif ((\"$installerrun\")); then\n\t$(git config user.name \u003e\u0026/dev/null \u0026\u0026 git config user.email \u003e\u0026/dev/null)\n\tif [ $? -ne 0 ]; then\n\t\techoerr darkred \"Please note you do not have a name or email set for git.\"\n\t\techoerr darkred \"I shall not be able to commit unless you set the missing variables.\"\n\t\twhile [ 1 ]; do\n\t\t\tread -p \"Do you want to set them? (Y/n) \" answer\n\t\t\tif [ -z \"$answer\" ]; then\n\t\t\t\tanswer='y'\n\t\t\tfi\n\t\t\tcase \"$answer\" in\n\t\t\tY* | y*)\n\t\t\t\tgetgitinfo=1\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\tN* | n*)\n\t\t\t\techoerr darkgreen \"Okay, I shall not.\"\n\t\t\t\tgetgitinfo=0\n\t\t\t\tinstallerrun=0\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\t*)\n\t\t\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t\t\t;;\n\t\t\tesac\n\t\tdone\n\t\twhile [ 1 ]; do\n\t\t\tread -p \"Do you want these settings to be global? (Y/n) \" answer\n\t\t\tif [ -z \"$answer\" ]; then\n\t\t\t\tanswer='y'\n\t\t\tfi\n\t\t\tcase \"$answer\" in\n\t\t\tY* | y*)\n\t\t\t\techoerr green \"Adding --global to the set commands.\"\n\t\t\t\tgitinfoglobal=1\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\tN* | n*)\n\t\t\t\techoerr green \"Okay, I shall make them local.\"\n\t\t\t\tgitinfoglobal=0\n\t\t\t\tbreak\n\t\t\t\t;;\n\t\t\t*)\n\t\t\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t\t\t;;\n\t\t\tesac\n\t\tdone\n\tfi\nfi\nif ((\"$getgitinfo\")); then\n\t$(git config user.name \u003e\u0026/dev/null)\n\tif [ $? -ne 0 ]; then\n\t\tgitname=\"FirstName LastName\"\n\telse\n\t\tgitname=\"$(git config user.name)\"\n\tfi\n\t$(git config user.email \u003e\u0026/dev/null)\n\tif [ $? -ne 0 ]; then\n\t\tgitemail=\"FirstName.LastName@example.com\"\n\telse\n\t\tgitemail=\"$(git config user.email)\"\n\tfi\n\tread -p \"What do you want for your git name? [${gitname}]\" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer=\"$gitname\"\n\tfi\n\tgitname=\"$answer\"\n\tread -p \"What do you want for your git email? [${gitemail}]\" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer=\"$gitemail\"\n\tfi\n\tgitemail=\"$answer\"\n\tappendshell gitsetname \"$gitname\" $gitinfoglobal\n\tappendshell gitsetemail \"$gitemail\" $gitinfoglobal\nfi\nwhile (($installerrun)); do\n\tread -p \"Shall I run the installer? (Necessary to git commit) (Y/n) \" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer='y'\n\tfi\n\tcase \"$answer\" in\n\tY* | y*)\n\t\techoerr green \"Will do.\"\n\t\tappendshell runinstaller\n\t\tbreak\n\t\t;;\n\tN* | n*)\n\t\techoerr darkgreen \"Okay, I shall not. You will need to take care of that yourself.\"\n\t\tinstallerrun=0\n\t\tbreak\n\t\t;;\n\t*)\n\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t;;\n\tesac\ndone\nwhile (($installerrun)); do\n\tread -p \"Shall I make the initial commit? (Y/n) \" answer\n\tif [ -z \"$answer\" ]; then\n\t\tanswer='y'\n\tfi\n\tcase \"$answer\" in\n\tY* | y*)\n\t\techoerr green \"Will do.\"\n\t\tappendshell gitinitialcommit\n\t\tbreak\n\t\t;;\n\tN* | n*)\n\t\techoerr darkgreen \"Okay, I shall not. You will need to take care of that yourself.\"\n\t\tbreak\n\t\t;;\n\t*)\n\t\techoerr red \"Answer not understood: ${answer}\"\n\t\t;;\n\tesac\ndone\nechoerr\nif (($dumpconf)); then\n\techo -e \"$dotlink\"\n\techoerr\nfi\nechoerr magenta \"The below are the actions that will be taken to setup Qonfig.\"\nif (($testmode)); then\n\techoerr darkmagenta \"Just kidding. They won't be.\"\nfi\nif (($preview)); then\n\tprintferr \"\\n${setupshell//; /;\\\\n}\\n\\n\" # place newline after each command for printing\n\twarningmessage='If you do not see a problem with the above commands, press enter. '\nelse\n\twarningmessage=''\nfi\nechoerrcolor darkred\nread -p \"${warningmessage}This is your last chance to press ^C before actions are taken that should not be interrupted. \"\nechoerrnocolor\nif ! (($testmode)); then\n\teval $setupshell\nfi\nfunction info() {\n\tprintf \"\\033[1;32m[info]\\033[0m %s\\n\" \"$*\"\n}\nfunction error() {\n\tprintf \"\\033[1;31m[error]\\033[0m %s\\n\" \"$*\" \u003e\u00262\n\texit 1\n}\nfunction check_dependencies() {\n\tcommand -v python3 \u003e/dev/null || error \"python3 is required\"\n}\nfunction find_repo_root() {\n\tgit rev-parse --show-toplevel 2\u003e/dev/null || pwd\n}\nfunction install_qonfig() {\n\tREPO_ROOT=$(find_repo_root)\n\tQONFIG_SRC=\"${REPO_ROOT}/${QONFIG_SCRIPT}\"\n\t[[ -f \"${QONFIG_SRC}\" ]] || error \"Missing Qonfig at ${QONFIG_SRC}\"\n\tmkdir -p \"${INSTALL_DIR}\"\n\tlocal target=\"${INSTALL_DIR}/${SCRIPT_NAME}\"\n\tif $USE_SYMLINK; then\n\t\tln -sf \"${QONFIG_SRC}\" \"${target}\"\n\t\tinfo \"Symlinked qonfig → ${target}\"\n\telse\n\t\tcp \"${QONFIG_SRC}\" \"${target}\"\n\t\tchmod +x \"${target}\"\n\t\tinfo \"Copied Qonfig to ${target}\"\n\tfi\n\tinfo \"Qonfig installed to ${target}\"\n}\nfunction main() {\n\tcheck_dependencies\n\tinstall_qonfig\n}\nmain \"$@\" \u003c/pre\u003e \u003c/details\u003e \u003cp\u003eOr, \u003ca href=\"https://github.com/qompassai/qonfig/blob/main/scripts/quickstart.sh\" target=\"_blank\"\u003eView\nthe quickstart script\u003c/a\u003e.\u003c/p\u003e\n\n \u003c/details\u003e\n\n  \u003c/blockquote\u003e\n  \u003c/details\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\n      style=\"font-size: 1.4em; font-weight: bold; padding: 15px; background: #667eea; color: white; border-radius: 10px; cursor: pointer; margin: 10px 0;\"\u003e\n      \u003cstrong\u003e🧭 About Qompass AI\u003c/strong\u003e\n    \u003c/summary\u003e\n    \u003cblockquote\n      style=\"font-size: 1.2em; line-height: 1.8; padding: 25px; background: #f8f9fa; border-left: 6px solid #667eea; border-radius: 8px; margin: 15px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\u003e\n    \u003cdiv align=\"center\"\u003e\n    \u003cp\u003eMatthew A. Porter\u003cbr\u003e\n      Former Intelligence Officer\u003cbr\u003e\n      Educator \u0026 Learner\u003cbr\u003e\n      DeepTech Founder \u0026 CEO\u003c/p\u003e\n  \u003c/div\u003e\n\n  \u003ch3\u003ePublications\u003c/h3\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://orcid.org/0000-0002-0302-4812\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/ORCID-0000--0002--0302--4812-green?style=flat-square\u0026logo=orcid\"\n        alt=\"ORCID\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.researchgate.net/profile/Matt-Porter-7\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/ResearchGate-Open--Research-blue?style=flat-square\u0026logo=researchgate\"\n        alt=\"ResearchGate\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://zenodo.org/communities/qompassai\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Zenodo-Publications-blue?style=flat-square\u0026logo=zenodo\" alt=\"Zenodo\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003ch3\u003eDeveloper Programs\u003c/h3\u003e\n\n[![NVIDIA\nDeveloper](https://img.shields.io/badge/NVIDIA-Developer_Program-76B900?style=for-the-badge\\\u0026logo=nvidia\\\u0026logoColor=white)](https://developer.nvidia.com/)\n[![Meta\nDeveloper](https://img.shields.io/badge/Meta-Developer_Program-0668E1?style=for-the-badge\\\u0026logo=meta\\\u0026logoColor=white)](https://developers.facebook.com/)\n[![HackerOne](https://img.shields.io/badge/-HackerOne-%23494649?style=for-the-badge\\\u0026logo=hackerone\\\u0026logoColor=white)](https://hackerone.com/phaedrusflow)\n[![HuggingFace](https://img.shields.io/badge/HuggingFace-qompass-yellow?style=flat-square\\\u0026logo=huggingface)](https://huggingface.co/qompass)\n[![Epic Games\nDeveloper](https://img.shields.io/badge/Epic_Games-Developer_Program-313131?style=for-the-badge\\\u0026logo=epic-games\\\u0026logoColor=white)](https://dev.epicgames.com/)\n\n  \u003ch3\u003eProfessional Profiles\u003c/h3\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://www.linkedin.com/in/matt-a-porter-103535224/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-Matt--Porter-blue?style=flat-square\u0026logo=linkedin\"\n        alt=\"Personal LinkedIn\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.linkedin.com/company/95058568/\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-Qompass--AI-blue?style=flat-square\u0026logo=linkedin\"\n        alt=\"Startup LinkedIn\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003ch3\u003eSocial Media\u003c/h3\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://twitter.com/PhaedrusFlow\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Twitter-@PhaedrusFlow-blue?style=flat-square\u0026logo=twitter\"\n        alt=\"X/Twitter\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.instagram.com/phaedrusflow\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Instagram-phaedrusflow-purple?style=flat-square\u0026logo=instagram\"\n        alt=\"Instagram\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.youtube.com/@qompassai\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/YouTube-QompassAI-red?style=flat-square\u0026logo=youtube\"\n        alt=\"Qompass AI YouTube\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n\u003c/blockquote\u003e\n\n  \u003c/details\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\n      style=\"font-size: 1.4em; font-weight: bold; padding: 15px; background: #ff6b6b; color: white; border-radius: 10px; cursor: pointer; margin: 10px 0;\"\u003e\n      \u003cstrong\u003e🔥 How Do I Support\u003c/strong\u003e\n    \u003c/summary\u003e\n    \u003cblockquote\n      style=\"font-size: 1.2em; line-height: 1.8; padding: 25px; background: #fff5f5; border-left: 6px solid #ff6b6b; border-radius: 8px; margin: 15px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n        \u003cth align=\"center\"\u003e🏛️ Qompass AI Pre-Seed Funding 2023-2025\u003c/th\u003e\n        \u003cth align=\"center\"\u003e🏆 Amount\u003c/th\u003e\n        \u003cth align=\"center\"\u003e📅 Date\u003c/th\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/qompassai/r4r\"\n            title=\"RJOS/Zimmer Biomet Research Grant Repository\"\u003eRJOS/Zimmer Biomet Research Grant\u003c/a\u003e\u003c/td\u003e\n        \u003ctd align=\"center\"\u003e$30,000\u003c/td\u003e\n        \u003ctd align=\"center\"\u003eMarch 2024\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/qompassai/PathFinders\" title=\"GitHub Repository\"\u003ePathfinders Intern\n            Program\u003c/a\u003e\u003cbr\u003e\n          \u003csmall\u003e\u003ca\n              href=\"https://www.linkedin.com/posts/evergreenbio_bioscience-internships-workforcedevelopment-activity-7253166461416812544-uWUM/\"\n              target=\"_blank\"\u003eView on LinkedIn\u003c/a\u003e\u003c/small\u003e\n        \u003c/td\u003e\n        \u003ctd align=\"center\"\u003e$2,000\u003c/td\u003e\n        \u003ctd align=\"center\"\u003eOctober 2024\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/table\u003e\n    \u003cbr\u003e\n    \u003ch4\u003e🤝 How To Support Our Mission\u003c/h4\u003e\n    [![GitHub\n    Sponsors](https://img.shields.io/badge/GitHub-Sponsor-EA4AAA?style=for-the-badge\\\u0026logo=github-sponsors\\\u0026logoColor=white)](https://github.com/sponsors/phaedrusflow)\n    [![Patreon](https://img.shields.io/badge/Patreon-Support-F96854?style=for-the-badge\\\u0026logo=patreon\\\u0026logoColor=white)](https://patreon.com/qompassai)\n    [![Liberapay](https://img.shields.io/badge/Liberapay-Donate-F6C915?style=for-the-badge\\\u0026logo=liberapay\\\u0026logoColor=black)](https://liberapay.com/qompassai)\n    [![Open\n    Collective](https://img.shields.io/badge/Open%20Collective-Support-7FADF2?style=for-the-badge\\\u0026logo=opencollective\\\u0026logoColor=white)](https://opencollective.com/qompassai)\n    [![Buy Me A\n    Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support-FFDD00?style=for-the-badge\\\u0026logo=buy-me-a-coffee\\\u0026logoColor=black)](https://www.buymeacoffee.com/phaedrusflow)\n    \u003cdetails markdown=\"1\"\u003e\n      \u003csummary\u003e\u003cstrong\u003e🔐 Cryptocurrency Donations\u003c/strong\u003e\u003c/summary\u003e\n      **Monero (XMR):**\n      \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"https://github.com/qompassai/svg/assets/monero-qr.svg\" alt=\"Monero QR Code\" width=\"180\"\u003e\n      \u003c/div\u003e\n  \u003cdiv style=\"margin: 10px 0;\"\u003e\n    \u003ccode\u003e42HGspSFJQ4MjM5ZusAiKZj9JZWhfNgVraKb1eGCsHoC6QJqpo2ERCBZDhhKfByVjECernQ6KeZwFcnq8hVwTTnD8v4PzyH\u003c/code\u003e\n  \u003c/div\u003e\n\n\u003cbutton\nonclick=\"navigator.clipboard.writeText('42HGspSFJQ4MjM5ZusAiKZj9JZWhfNgVraKb1eGCsHoC6QJqpo2ERCBZDhhKfByVjECernQ6KeZwFcnq8hVwTTnD8v4PzyH')\"\nstyle=\"padding: 6px 12px; background: #FF6600; color: white; border: none; border-radius: 4px; cursor: pointer;\"\u003e\n📋 Copy Address \u003c/button\u003e\n\n  \u003cp\u003e\u003ci\u003eFunding helps us continue our research at the intersection of AI, healthcare, and education\u003c/i\u003e\u003c/p\u003e\n\n\u003c/blockquote\u003e\n\n  \u003c/details\u003e\n  \u003c/details\u003e\n\n  \u003cdetails id=\"FAQ\"\u003e\n    \u003csummary\u003e\u003cstrong\u003eFrequently Asked Questions\u003c/strong\u003e\u003c/summary\u003e\n### Q: How do you mitigate against bias?\n\n**TLDR - we do math to make AI ethically useful**\n\n### A: We delineate between mathematical bias (MB) - a fundamental parameter in neural network equations - and\n\nalgorithmic/social bias (ASB). While MB is optimized during model training through backpropagation, ASB requires\ncareful consideration of data sources, model architecture, and deployment strategies. We implement attention\nmechanisms for improved input processing and use legal open-source data and secure web-search APIs to help mitigate\nASB.\n\n[AAMC AI Guidelines | One way to align AI against\nASB](https://www.aamc.org/about-us/mission-areas/medical-education/principles-ai-use)\n\n### AI Math at a glance\n\n## Forward Propagation Algorithm\n\n$$\ny = w\\_1x\\_1 + w\\_2x\\_2 + ... + w\\_nx\\_n + b\n$$\n\nWhere:\n\n* $y$ represents the model output\n* $(x\\_1, x\\_2, ..., x\\_n)$ are input features\n* $(w\\_1, w\\_2, ..., w\\_n)$ are feature weights\n* $b$ is the bias term\n\n### Neural Network Activation\n\nFor neural networks, the bias term is incorporated before activation:\n\n$$\nz = \\sum\\_{i=1}^{n} w\\_ix\\_i + b\n$$\n$$\na = \\sigma(z)\n$$\n\nWhere:\n\n* $z$ is the weighted sum plus bias\n* $a$ is the activation output\n* $\\sigma$ is the activation function\n\n### Attention Mechanism- aka what makes the Transformer (The \"T\" in ChatGPT) powerful\n\n* [Attention High level overview video](https://www.youtube.com/watch?v=fjJOgb-E41w)\n\n* [Attention Is All You Need Arxiv Paper](https://arxiv.org/abs/1706.03762)\n\nThe Attention mechanism equation is:\n\n$$\n\\text{Attention}(Q, K, V) = \\text{softmax}\\left( \\frac{QK^T}{\\sqrt{d\\_k}} \\right) V\n$$\n\nWhere:\n\n* $Q$ represents the Query matrix\n* $K$ represents the Key matrix\n* $V$ represents the Value matrix\n* $d\\_k$ is the dimension of the key vectors\n* $\\text{softmax}(\\cdot)$ normalizes scores to sum to 1\n\n### Q: Do I have to buy a Linux computer to use this? I don't have time for that!\n\n### A: No. You can run Linux and/or the tools we share alongside your existing operating system:\n\n* Windows users can use Windows Subsystem for Linux [WSL](https://learn.microsoft.com/en-us/windows/wsl/install)\n* Mac users can use [Homebrew](https://brew.sh/)\n* The code-base instructions were developed with both beginners and advanced users in mind.\n\n### Q: Do you have to get a masters in AI?\n\n### A: Not if you don't want to. To get competent enough to get past ChatGPT dependence at least, you just need a\n\ncomputer and a beginning's mindset. Huggingface is a good place to start.\n\n* [Huggingface](https://docs.google.com/presentation/d/1IkzESdOwdmwvPxIELYJi8--K3EZ98_cL6c5ZcLKSyVg/edit#slide=id.p)\n\n### Q: What makes a \"small\" AI model?\n\n### A: AI models ~=10 billion(10B) parameters and below. For comparison, OpenAI's GPT4o contains approximately 200B parameters.\n\n  \u003c/details\u003e\n\n  \u003cdetails id=\"Dual-License Notice\"\u003e\n    \u003csummary\u003e\u003cstrong\u003eWhat a Dual-License Means\u003c/strong\u003e\u003c/summary\u003e\n\n### Protection for Vulnerable Populations\n\nThe dual licensing aims to address the cybersecurity gap that disproportionately affects underserved populations. As\nhighlighted by recent attacks\u003csup\u003e\u003ca href=\"#ref1\"\u003e\\[1]\u003c/a\u003e\u003c/sup\u003e, low-income residents, seniors, and foreign language\nspeakers face higher-than-average risks of being victims of cyberattacks. By offering both open-source and\ncommercial licensing options, we encourage the development of cybersecurity solutions that can reach these\nvulnerable groups while also enabling sustainable development and support.\n\n### Preventing Malicious Use\n\nThe AGPL-3.0 license ensures that any modifications to the software remain open source, preventing bad actors from\ncreating closed-source variants that could be used for exploitation. This is especially crucial given the rising\nthreats to vulnerable communities, including children in educational settings. The attack on Minneapolis Public\nSchools, which resulted in the leak of 300,000 files and a $1 million ransom demand, highlights the importance of\ntransparency and security\u003csup\u003e\u003ca href=\"#ref8\"\u003e\\[8]\u003c/a\u003e\u003c/sup\u003e.\n\n### Addressing Cybersecurity in Critical Sectors\n\nThe commercial license option allows for tailored solutions in critical sectors such as healthcare, which has seen\nsignificant impacts from cyberattacks. For example, the recent Change Healthcare attack\u003csup\u003e\u003ca\nhref=\"#ref4\"\u003e\\[4]\u003c/a\u003e\u003c/sup\u003e affected millions of Americans and caused widespread disruption for hospitals and\nother providers. In January 2025, CISA\u003csup\u003e\u003ca href=\"#ref2\"\u003e\\[2]\u003c/a\u003e\u003c/sup\u003e and FDA\u003csup\u003e\u003ca href=\"#ref3\"\u003e\\[3]\u003c/a\u003e\u003c/sup\u003e\njointly warned of critical backdoor vulnerabilities in Contec CMS8000 patient monitors, revealing how medical\ndevices could be compromised for unauthorized remote access and patient data manipulation.\n\n### Supporting Cybersecurity Awareness\n\nThe dual licensing model supports initiatives like the Cybersecurity and Infrastructure Security Agency (CISA)\nefforts to improve cybersecurity awareness\u003csup\u003e\u003ca href=\"#ref7\"\u003e\\[7]\u003c/a\u003e\u003c/sup\u003e in \"target rich\" sectors, including\nK-12 education\u003csup\u003e\u003ca href=\"#ref5\"\u003e\\[5]\u003c/a\u003e\u003c/sup\u003e. By allowing both open-source and commercial use, we aim to\nfacilitate the development of tools that support these critical awareness and protection efforts.\n\n### Bridging the Digital Divide\n\nThe unfortunate reality is that too many individuals and organizations have gone into a frenzy in every facet of our\ndaily lives\u003csup\u003e\u003ca href=\"#ref6\"\u003e\\[6]\u003c/a\u003e\u003c/sup\u003e. These unfortunate folks identify themselves with their talk of \"10X\"\nreturns and building towards Artificial General Intelligence aka \"AGI\" while offering GPT wrappers. Our dual\nlicensing approach aims to acknowledge this deeply concerning predatory paradigm with clear eyes while still\noperating to bring the best parts of the open-source community with our services and solutions.\n\n### Recent Cybersecurity Attacks\n\nRecent attacks underscore the importance of robust cybersecurity measures:\n\n* The Change Healthcare cyberattack in February 2024 affected millions of Americans and caused significant\n  disruption to healthcare providers.\n* The White House and Congress jointly designated October 2024 as Cybersecurity Awareness Month. This designation\n  comes with over 100 actions that align the Federal government and public/private sector partners are taking to help\n  every man, woman, and child to safely navigate the age of AI.\n\nBy offering both open source and commercial licensing options, we strive to create a balance that promotes\ninnovation and accessibility. We address the complex cybersecurity challenges faced by vulnerable populations and\ncritical infrastructure sectors as the foundation of our solutions, not an afterthought.\n\n### References\n\n\u003cdiv id=\"footnotes\"\u003e\n  \u003cp id=\"ref1\"\u003e\u003cstrong\u003e[1]\u003c/strong\u003e \u003ca\n      href=\"https://www.whitehouse.gov/briefing-room/statements-releases/2024/10/02/international-counter-ransomware-initiative-2024-joint-statement/\"\u003eInternational\n      Counter Ransomware Initiative 2024 Joint Statement\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref2\"\u003e\u003cstrong\u003e[2]\u003c/strong\u003e \u003ca\n      href=\"https://www.cisa.gov/sites/default/files/2025-01/fact-sheet-contec-cms8000-contains-a-backdoor-508c.pdf\"\u003eContec\n      CMS8000 Contains a Backdoor\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref3\"\u003e\u003cstrong\u003e[3]\u003c/strong\u003e \u003ca\n      href=\"https://www.aha.org/news/headline/2025-01-31-cisa-fda-warn-vulnerabilities-contec-patient-monitors\"\u003eCISA,\n      FDA warn of vulnerabilities in Contec patient monitors\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref4\"\u003e\u003cstrong\u003e[4]\u003c/strong\u003e \u003ca\n      href=\"https://www.chiefhealthcareexecutive.com/view/the-top-10-health-data-breaches-of-the-first-half-of-2024\"\u003eThe\n      Top 10 Health Data Breaches of the First Half of 2024\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref5\"\u003e\u003cstrong\u003e[5]\u003c/strong\u003e \u003ca href=\"https://www.cisa.gov/K12Cybersecurity\"\u003eCISA's K-12 Cybersecurity\n      Initiatives\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref6\"\u003e\u003cstrong\u003e[6]\u003c/strong\u003e \u003ca\n      href=\"https://www.ftc.gov/business-guidance/blog/2024/09/operation-ai-comply-continuing-crackdown-overpromises-ai-related-lies\"\u003eFederal\n      Trade Commission Operation AI Comply: continuing the crackdown on overpromises and AI-related lies\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref7\"\u003e\u003cstrong\u003e[7]\u003c/strong\u003e \u003ca\n      href=\"https://www.whitehouse.gov/briefing-room/presidential-actions/2024/09/30/a-proclamation-on-cybersecurity-awareness-month-2024/\"\u003eA\n      Proclamation on Cybersecurity Awareness Month, 2024\u003c/a\u003e\u003c/p\u003e\n\n  \u003cp id=\"ref8\"\u003e\u003cstrong\u003e[8]\u003c/strong\u003e \u003ca\n      href=\"https://therecord.media/minneapolis-schools-say-data-breach-affected-100000/\"\u003eMinneapolis school\n      district says data breach affected more than 100,000 people\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n  \u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqompassai%2Fqonfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqompassai%2Fqonfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqompassai%2Fqonfig/lists"}