summaryrefslogtreecommitdiff
path: root/scripts/email_issue.c
diff options
context:
space:
mode:
authorWatson Wheeler <git@tazy.dev>2026-06-30 17:46:23 +1000
committerWatson Wheeler <git@tazy.dev>2026-06-30 17:46:23 +1000
commit16d543770ae62c0861db1f087863f3bc4c5a34a1 (patch)
treec3da8352e9428c477ee7f26d611f3a73a4cb0f29 /scripts/email_issue.c
parent3290a04eba2c8fab57bcf5016e57f74a1e60a9c9 (diff)
WIP! working on an issue systemstaging/issue-tracker
It should work with cgit when I get that up and running cause github is now diahhrea bought by macroslop that is never online and forcefed AI features. Signed-off-by: Watson Wheeler <git@tazy.dev>
Diffstat (limited to 'scripts/email_issue.c')
-rw-r--r--scripts/email_issue.c67
1 files changed, 67 insertions, 0 deletions
diff --git a/scripts/email_issue.c b/scripts/email_issue.c
new file mode 100644
index 0000000..6a47d6b
--- /dev/null
+++ b/scripts/email_issue.c
@@ -0,0 +1,67 @@
+#define _XOPEN_SOURCE 500
+
+#include <stdio.h>
+#include <string.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+
+void make_template(bool verbose) {
+ char tmp_template[] = "/tmp/email_issue_XXXXXX";
+ int fd = mkstemp(tmp_template);
+
+ const char *issue_template =
+ "# Lines beginning with hashtags (like this one) are generated by the template.\n"
+ "# They are not included in the issue.\n"
+ "# Leave a newline at the bottom\n"
+ "#\n"
+ "# Valid Types: \n"
+ "# BUG - Code errors, flaws, failures, or crashes.\n"
+ "# FEATURE - Proposals or requests for new pipeline functionality.\n"
+ "# DOCS - Technical manuals, code comments, or web updates.\n"
+ "# REFACTOR - Structural/readability cleanups (no behavior changes).\n"
+ "# PATCH - Concrete code submissions fulfilling an issue request.\n"
+ "#\n"
+ "# Valid Levels:\n"
+ "# LOW - Minor cosmetic issues or typos; zero threat to stability.\n"
+ "# MEDIUM - Minor flaws; system works but specific feature is broken.\n"
+ "# HIGH - Severe flaws; major workflow failures or loop crashes.\n"
+ "# FATAL - Completely unusable; unable to boot or compile.\n"
+ "# EXPLOIT - Security vulnerabilities (overflows, memory leaks, etc.)\n"
+ "# This must be used for anything that could be used harmfully.\n"
+ "# Successful reporting will result in your name in ACKNOWLEDGMENTS.\n"
+ "# More details are in SECURITY.\n"
+ "#\n"
+ "# Assignee Handshake Protocol:\n"
+ "# The assignee should be left default to 'doe' (unless you want to assign yourself)\n"
+ "# Assignee are in email form unless they are "
+ "# NOTE: Spamming useless issues or useless information will result in a block\n\n"
+ "[TYPE LEVEL] Issue title (doe)\n\n"
+ "Your issue description here...\n\n"
+ "@@END-OF-ISSUE@@\n";
+}
+
+int main (int argc, char *argv[])
+{
+ bool verbose = false;
+ if (argc < 2) {
+ fprintf(stderr, "error: no input file or flags specified\n");
+ fprintf(stderr, "hint: use '--help' for usage instructions \n");
+ return 1;
+ }
+
+ if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) {
+ printf("usage: %s [-hvt] [<file.tti>]\n\n", argv[0]);
+ printf("options:\n");
+ printf(" -h, --help Prints this help message\n");
+ printf(" -v, --verbose Makes logging verbose\n");
+ printf(" -t, --template Opens a template in a disposable editor session\n");
+ } else if (strcmp(argv[1], "--verbose") || strcmp(argv[1], "-v")) {
+ verbose = true;
+ } else if (strcmp(argv[1], "-t") || strcmp(argv[1], "--template")) {
+
+ }
+
+ return 0;
+}