Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
beebcbf
added bun2nix template
josh-romer Dec 15, 2025
4fdebb4
fixed flake input format
josh-romer Dec 15, 2025
f2a119d
messy wip tooling setup
josh-romer Dec 15, 2025
6cea4ea
wip
josh-romer Dec 15, 2025
216cfd8
wip
josh-romer Dec 16, 2025
f797ecb
moved small scripts to flatmmo page
josh-romer Dec 16, 2025
751bedd
added missing moved files
josh-romer Dec 16, 2025
6b921ca
mostly working packaging
josh-romer Dec 16, 2025
24df51b
direnv
josh-romer Dec 16, 2025
fff5248
formatting
josh-romer Dec 16, 2025
855e444
started on oxlint config
josh-romer Dec 17, 2025
28b959c
testing actions
josh-romer Dec 17, 2025
095115f
updated lock
josh-romer Dec 17, 2025
29ebbef
work?
josh-romer Dec 17, 2025
a87235d
trying magic cache
josh-romer Dec 17, 2025
051b458
Add deploy job for GitHub Pages
josh-romer Dec 17, 2025
c0c711a
remove github pages attempt for now lol
josh-romer Dec 17, 2025
4db14ca
WIP mostly working mod key + prayer hot keys
josh-romer Dec 17, 2025
3617f68
Working prayer hotkeys and modifier keys
josh-romer Dec 22, 2025
9801193
made it save default hotkeys
josh-romer Dec 22, 2025
5b88239
updated to not use Det Nix
josh-romer Dec 22, 2025
3dd2e50
Add artifact upload step to CI workflow
josh-romer Dec 22, 2025
263e52a
Rename PDF artifact upload to userscripts
josh-romer Dec 22, 2025
480c693
temp putting build result here to share lol
josh-romer Dec 22, 2025
a7a699f
removed accidentally created file
josh-romer Dec 22, 2025
c1b41f7
wip script to show current action bar
josh-romer Dec 26, 2025
c6f5295
wip script to show current action bar
josh-romer Dec 26, 2025
03a4458
initial mostly working script
josh-romer Dec 26, 2025
b8ef6a1
working basic script
josh-romer Dec 27, 2025
952b5e9
fixed menu, checking in build till deal w/ deployment
josh-romer Dec 27, 2025
4cf4411
added settings w/o ui for animation settings
josh-romer Dec 27, 2025
2b77823
added option to modal to control modal
josh-romer Dec 27, 2025
689e005
mostly working build scripts and static site index generation
josh-romer Dec 28, 2025
88c4dfd
test build
josh-romer Dec 28, 2025
71ef32d
Integrate Cloudflare Workers deployment in CI
josh-romer Dec 29, 2025
830d451
Remove './' from deploy command path
josh-romer Dec 29, 2025
4aff915
moved build scripts
josh-romer Dec 28, 2025
f1e5944
flake.lock: Update
josh-romer Dec 28, 2025
c144cb8
Test action again
josh-romer Dec 29, 2025
cc165fd
Test action again
josh-romer Dec 29, 2025
8434efd
fixed to use bun
josh-romer Dec 29, 2025
af80fbf
updated action version
josh-romer Dec 29, 2025
55d5f93
hopefully works
josh-romer Dec 29, 2025
86196b9
moved to nix wrangler
josh-romer Dec 29, 2025
286e9d1
moved to nix wrangler
josh-romer Dec 29, 2025
98fa182
fixed missing command
josh-romer Dec 29, 2025
54c8363
debug
josh-romer Dec 29, 2025
8b6f367
rollback
josh-romer Dec 29, 2025
c5af288
Modify CI workflow for debugging and artifact upload
josh-romer Dec 29, 2025
a6c48da
removed debug
josh-romer Dec 29, 2025
7dea53a
added some simple style and removed checked in build files
josh-romer Dec 29, 2025
9d27ded
added chat leading space fix scripb
josh-romer Jan 9, 2026
addaaab
fixed typo and uneeded permissions
josh-romer Jan 10, 2026
eac2bb2
updated flake to reduce boilerplate
josh-romer Jan 10, 2026
a3fd5a2
formatting
josh-romer Jan 10, 2026
73f4340
bun.nix update
josh-romer Jan 10, 2026
07025cc
properly ignored generated file for formatting lol
josh-romer Jan 10, 2026
a359a10
WIP dev watch
josh-romer Jan 10, 2026
83de82b
reduced boilerplate for dev env
josh-romer Jan 11, 2026
41c24e0
WIP build updates for programatically setting metadata of scripts.
josh-romer Jan 11, 2026
ea194f6
updated to version to be epoch based
josh-romer Jan 11, 2026
1154194
build updates
josh-romer Jan 13, 2026
bbc724c
wip script metadata generation changes
josh-romer Jan 15, 2026
6c060e1
Initial version of metadata generation including parsing which GM met…
josh-romer Jan 18, 2026
16a01c5
updated build script for easier dev watching
josh-romer Jan 19, 2026
60af836
moved package dirs to userscripts and lib
josh-romer Jan 19, 2026
ebf422f
removed unused arg
josh-romer Jan 19, 2026
c3607cb
renamed userscripts
josh-romer Jan 19, 2026
57183bb
updated nix to dynamically find userscripts to reduce boilerplate for…
josh-romer Jan 19, 2026
3a53093
Added new prayer
josh-romer Jan 19, 2026
20bc94a
initial version of keybindings UI menu
josh-romer Jan 20, 2026
1c10410
The modal now allows editting to change hotkeys
josh-romer Jan 20, 2026
fb2b765
added missing settings file and fixed conflicting hotkeys UI indicator
josh-romer Jan 22, 2026
773f9cd
Testing grid settings layout
josh-romer Jan 22, 2026
b14700f
Working grid settings layout
josh-romer Jan 22, 2026
3c40b4a
Finalized initial version of grid settings UI grouped by category
josh-romer Jan 22, 2026
e427661
Made build script prepend FlatMMO to the front of the script names fo…
josh-romer Jan 22, 2026
17f6715
started on rough poc for dev tools plugin
josh-romer Jan 26, 2026
073f0b5
css fix
josh-romer Feb 22, 2026
f4ce617
flake.lock: Update
josh-romer Mar 19, 2026
302e36a
fixed bun2nix
josh-romer Mar 19, 2026
fc0d60d
added new worship skills
josh-romer Mar 19, 2026
6358a5d
hopefully fix ci
josh-romer Mar 19, 2026
8c93349
formatting
josh-romer Mar 19, 2026
c6a6fa5
remove check for now since linting not totally setup
josh-romer Mar 19, 2026
f53bbca
disable cloudflare pages build for now
josh-romer Mar 19, 2026
cf8de42
update action to remove warning
josh-romer Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
29 changes: 29 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: debug

on:
push:
pull_request:

jobs:
build:
runs-on: ubuntu-latest
permissions:
id-token: "write"
contents: "read"
steps:
- uses: actions/checkout@v5
- uses: cachix/install-nix-action@v31
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- run: nix build
# - run: nix flake check
- name: Upload static site artifact
uses: actions/upload-artifact@v7
with:
name: site
path: result/static
# - name: Run `nix shell`
# run: nix develop --command -- bunx wrangler pages deploy result/static
# env:
# CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_PAGES_API_KEY }}
# CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
122 changes: 122 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Ignore build outputs from performing a nix-build or `nix build` command
result
result-*

# Ignore automatically generated direnv output
.direnv

out/

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# database
*.sqlite

# package-json
package-json.lock

# bun deploy file
node_modules.bun

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port
141 changes: 141 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
{
"plugins": ["unicorn", "typescript", "oxc"],
"categories": {
"correctness": "error",
"suspicious": "error"
},
"rules": {
"for-direction": "warn",
"no-async-promise-executor": "warn",
"no-caller": "warn",
"no-class-assign": "warn",
"no-compare-neg-zero": "warn",
"no-cond-assign": "warn",
"no-const-assign": "warn",
"no-constant-binary-expression": "warn",
"no-constant-condition": "warn",
"no-control-regex": "warn",
"no-debugger": "warn",
"no-delete-var": "warn",
"no-dupe-class-members": "warn",
"no-dupe-else-if": "warn",
"no-dupe-keys": "warn",
"no-duplicate-case": "warn",
"no-empty-character-class": "warn",
"no-empty-pattern": "warn",
"no-empty-static-block": "warn",
"no-eval": "warn",
"no-ex-assign": "warn",
"no-extra-boolean-cast": "warn",
"no-func-assign": "warn",
"no-global-assign": "warn",
"no-import-assign": "warn",
"no-invalid-regexp": "warn",
"no-irregular-whitespace": "warn",
"no-loss-of-precision": "warn",
"no-new-native-nonconstructor": "warn",
"no-nonoctal-decimal-escape": "warn",
"no-obj-calls": "warn",
"no-self-assign": "warn",
"no-setter-return": "warn",
"no-shadow-restricted-names": "warn",
"no-sparse-arrays": "warn",
"no-this-before-super": "warn",
"no-unassigned-vars": "warn",
"no-unsafe-finally": "warn",
"no-unsafe-negation": "warn",
"no-unsafe-optional-chaining": "warn",
"no-unused-labels": "warn",
"no-unused-private-class-members": "warn",
"no-unused-vars": "warn",
"no-useless-backreference": "warn",
"no-useless-catch": "warn",
"no-useless-escape": "warn",
"no-useless-rename": "warn",
"no-with": "warn",
"require-yield": "warn",
"use-isnan": "warn",
"valid-typeof": "warn",
"oxc/bad-array-method-on-arguments": "warn",
"oxc/bad-char-at-comparison": "warn",
"oxc/bad-comparison-sequence": "warn",
"oxc/bad-min-max-func": "warn",
"oxc/bad-object-literal-comparison": "warn",
"oxc/bad-replace-all-arg": "warn",
"oxc/const-comparisons": "warn",
"oxc/double-comparisons": "warn",
"oxc/erasing-op": "warn",
"oxc/missing-throw": "warn",
"oxc/number-arg-out-of-range": "warn",
"oxc/only-used-in-recursion": "warn",
"oxc/uninvoked-array-callback": "warn",
"typescript/await-thenable": "warn",
"typescript/no-array-delete": "warn",
"typescript/no-base-to-string": "warn",
"typescript/no-confusing-void-expression": "warn",
"typescript/no-duplicate-enum-values": "warn",
"typescript/no-duplicate-type-constituents": "warn",
"typescript/no-extra-non-null-assertion": "warn",
"typescript/no-floating-promises": "warn",
"typescript/no-for-in-array": "warn",
"typescript/no-implied-eval": "warn",
"typescript/no-meaningless-void-operator": "warn",
"typescript/no-misused-new": "warn",
"typescript/no-misused-spread": "warn",
"typescript/no-non-null-asserted-optional-chain": "warn",
"typescript/no-redundant-type-constituents": "warn",
"typescript/no-this-alias": "warn",
"typescript/no-unnecessary-parameter-property-assignment": "warn",
"typescript/no-unsafe-declaration-merging": "warn",
"typescript/no-unsafe-unary-minus": "warn",
"typescript/no-useless-empty-export": "warn",
"typescript/no-wrapper-object-types": "warn",
"typescript/prefer-as-const": "warn",
"typescript/require-array-sort-compare": "warn",
"typescript/restrict-template-expressions": "warn",
"typescript/triple-slash-reference": "warn",
"typescript/unbound-method": "warn",
"unicorn/no-await-in-promise-methods": "warn",
"unicorn/no-empty-file": "warn",
"unicorn/no-invalid-fetch-options": "warn",
"unicorn/no-invalid-remove-event-listener": "warn",
"unicorn/no-new-array": "warn",
"unicorn/no-single-promise-in-promise-methods": "warn",
"unicorn/no-thenable": "warn",
"unicorn/no-unnecessary-await": "warn",
"unicorn/no-useless-fallback-in-spread": "warn",
"unicorn/no-useless-length-check": "warn",
"unicorn/no-useless-spread": "warn",
"unicorn/prefer-set-size": "warn",
"unicorn/prefer-string-starts-ends-with": "warn"
},
"settings": {
"jsx-a11y": {
"polymorphicPropName": null,
"components": {},
"attributes": {}
},
"next": {
"rootDir": []
},
"react": {
"formComponents": [],
"linkComponents": []
},
"jsdoc": {
"ignorePrivate": false,
"ignoreInternal": false,
"ignoreReplacesDocs": true,
"overrideReplacesDocs": true,
"augmentsExtendsReplacesDocs": false,
"implementsReplacesDocs": false,
"exemptDestructuredRootsFromChecks": false,
"tagNamePreference": {}
}
},
"env": {
"builtin": true
},
"globals": {},
"ignorePatterns": ["metadata.js"]
}
Loading