Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
8f32ec8
Updated gitignore
bubthegreat Sep 3, 2020
8d5a8a6
Removing source C stuff
bubthegreat Sep 3, 2020
16aca38
Fixes for gitignore and nanny
bubthegreat Sep 3, 2020
3ee29b4
Revert "Removing source C stuff"
bubthegreat Sep 3, 2020
755291e
Restructuring and updated logging call
bubthegreat Dec 1, 2021
e0aa899
Moving into better directory structure
bubthegreat Dec 1, 2021
7817913
Updated so you can run it from src/rom24/pyom.py instead now that upd…
bubthegreat Dec 1, 2021
57dbbd7
Functional libary with pip install
bubthegreat Dec 1, 2021
7b4c8f9
Updated readme to have new installation/run instructions
bubthegreat Dec 1, 2021
d8d05be
Working owhere function, and mostly functional stuff
bubthegreat Dec 2, 2021
e868138
Rmoving old C code
bubthegreat Dec 2, 2021
d25371e
default to show exits and fixed bug with item location on equip
bubthegreat Dec 2, 2021
63635b0
Improving owhere to have vnums too
bubthegreat Dec 2, 2021
d5becc0
Removing old setup file
bubthegreat Dec 2, 2021
a660025
Remove egg info and update gitignore
bubthegreat Dec 2, 2021
613ce9e
Trying some more things.
bubthegreat Dec 2, 2021
a24bd4e
Update README.md
bubthegreat Dec 2, 2021
0d22f14
Update README.md
bubthegreat Dec 2, 2021
ac254f5
Added scan command
bubthegreat Dec 2, 2021
7611869
Adding black formatting
bubthegreat Dec 2, 2021
c89e710
Adding black for autoformatting and formatted
bubthegreat Dec 2, 2021
227fa05
Implementing mypy typing improvements and bug fixes from that.
bubthegreat Dec 2, 2021
901635f
mypy passing and blacked
bubthegreat Dec 2, 2021
496b7d3
Update README.md
bubthegreat Dec 2, 2021
69f0e62
Added our first pytest test!
bubthegreat Dec 2, 2021
bc42a58
Adding pre-commit and some basic hooks
bubthegreat Dec 2, 2021
0536614
More pre-commit hooks
bubthegreat Dec 2, 2021
6d92d7e
Yay whitespace fixes!
bubthegreat Dec 2, 2021
55c9e50
create basic pytest workflow
bubthegreat Dec 2, 2021
86d43f4
Updates workflow name and fixes pytest requirements
bubthegreat Dec 2, 2021
5856305
Update README.md
bubthegreat Dec 2, 2021
6e7959d
Adding mypy workflow and badge
bubthegreat Dec 2, 2021
1d495f9
Create python-publish.yml
bubthegreat Dec 2, 2021
dff5685
Add publish badge to readme
bubthegreat Dec 2, 2021
6de60f3
Incrementing version
bubthegreat Dec 2, 2021
66663bd
Adding manifest
bubthegreat Dec 2, 2021
3788caf
incrementing version
bubthegreat Dec 2, 2021
78573ea
Updating manifest
bubthegreat Dec 2, 2021
65fb069
Updating version
bubthegreat Dec 2, 2021
decb4bc
Fixed data missing json and added default char
bubthegreat Dec 26, 2021
2a75bd3
Add all deployment stuff
bubthegreat Feb 4, 2026
1d42c10
Update for later python compatibility
bubthegreat Feb 4, 2026
846ecb8
Fixing persistence
bubthegreat Feb 4, 2026
ae3f858
Updates for k8s deployment
bubthegreat Feb 4, 2026
d85b186
Mkae the ingress config managed by argo
bubthegreat Feb 4, 2026
7a1f800
Update TCP ingress documentation with correct Service name and one-ti…
bubthegreat Feb 4, 2026
4272c10
Updating workflows to test more recent python
bubthegreat Feb 4, 2026
ee810c9
Updating pytest for newer python versions
bubthegreat Feb 4, 2026
4e6d3db
Migrate to UV package manager
bubthegreat Feb 4, 2026
f616003
Switch from mypy to ty and update .gitignore
bubthegreat Feb 4, 2026
040da9f
Log boot statistics separately for better timestamp visibility
bubthegreat Feb 4, 2026
68d2701
Fix broken-tail commands/spells; add e2e smoke tests
bubthegreat Aug 11, 2026
a056887
Add content module system design spec
bubthegreat Aug 11, 2026
14f30ca
Add Phase 1 implementation plan: data-layer pack system
bubthegreat Aug 11, 2026
8aa40f2
feat(packs): add PACKS_DIR setting and core pack manifest
bubthegreat Aug 11, 2026
9a6f9ba
feat(packs): discover manifests and resolve dependency-ordered load o…
bubthegreat Aug 11, 2026
475476b
feat(packs): layer read_tables across pack dirs; collisions error, ba…
bubthegreat Aug 11, 2026
a681c85
feat(packs): ship core tables as packs/core; boot tables from packs
bubthegreat Aug 11, 2026
002ecbf
test(packs): a community pack adds a race; duplicates rejected
bubthegreat Aug 11, 2026
7387a9b
Add Phase 2 plan: area folders + JSON loader
bubthegreat Aug 11, 2026
5322598
test(areas): prove template JSON round-trip via instance codec
bubthegreat Aug 11, 2026
9e4bf24
feat(areas): add AREAS_DIR setting
bubthegreat Aug 11, 2026
3baf5fb
feat(areas): converter dumps legacy areas to per-area JSON; HELP/SOCI…
bubthegreat Aug 11, 2026
3198d3d
feat(serialize): reference shared flag tables by name in Bit.to_json
bubthegreat Aug 11, 2026
9be4184
feat(areas): generate src/areas JSON tree from stock .are files (18M,…
bubthegreat Aug 11, 2026
6236d29
feat(areas): JSON area loader reproducing the legacy hand-off
bubthegreat Aug 11, 2026
92eec8a
feat(areas): boot the world from JSON areas instead of legacy .are
bubthegreat Aug 11, 2026
5ec10af
feat(areas): remove legacy .are loader and source files; JSON is cano…
bubthegreat Aug 11, 2026
ddfd53a
feat(progs): real-Python area progs with trigger decorators + curated…
bubthegreat Aug 11, 2026
2bb49fe
feat(progs): add give/death/random triggers with emit points
bubthegreat Aug 11, 2026
df6360c
feat(packs): load command/spell code shipped by content packs
bubthegreat Aug 11, 2026
f4328f5
feat(packs): JSON Schema validation of pack manifests
bubthegreat Aug 11, 2026
dfc4e8e
chore(areas): drop stale 'listeners' key from mob JSON
bubthegreat Aug 11, 2026
fe573e9
refactor(packs): move commands and spells into packs/core
bubthegreat Aug 11, 2026
46d5f1a
fix(flags): correct exit_flags bits, load vuln_flags; add parity test
bubthegreat Aug 11, 2026
a22a96f
Add command/spell ctx-API design spec (pilot)
bubthegreat Aug 11, 2026
2029c1b
feat(api): ctx-style command/spell API + pilot conversions
bubthegreat Aug 12, 2026
58aa14a
refactor(spells): convert all spells to ctx-style @api.spell registra…
bubthegreat Aug 12, 2026
4e40061
refactor(commands): convert all commands to ctx-style api.register
bubthegreat Aug 12, 2026
039acc8
Merge pull request #6 from bubthegreat/fix/playable-parity-broken-com…
bubthegreat Aug 12, 2026
df33e57
Merge pull request #7 from bubthegreat/feature/content-module-system
bubthegreat Aug 12, 2026
27948c4
fix(packs): resolve latent NameErrors + logic bugs surfaced by ctx co…
bubthegreat Aug 12, 2026
82d9987
Merge pull request #8 from bubthegreat/fix/latent-bugs
bubthegreat Aug 12, 2026
b930640
fix(deploy): repair Dockerfile + Makefile for the refactored codebase
bubthegreat Aug 12, 2026
4360fc2
Merge pull request #9 from bubthegreat/fix/deploy-dockerfile
bubthegreat Aug 12, 2026
c1ff53a
feat(deploy): LoadBalancer per env via MetalLB (same port 1337, disti…
bubthegreat Aug 12, 2026
a2385cc
Merge pull request #10 from bubthegreat/feat/loadbalancer-per-env
bubthegreat Aug 12, 2026
dc71974
chore(deploy): ApplicationSet generates only prod + dev (both LB on 1…
bubthegreat Aug 12, 2026
c1e3b89
Merge pull request #11 from bubthegreat/chore/argocd-dev-prod
bubthegreat Aug 12, 2026
f13d0ea
docs(deploy): homelab routing state + shared-gateway migration + rout…
bubthegreat Aug 12, 2026
53e7b36
feat(deploy): pin image tag + ArgoCD Image Updater (semver, argocd wr…
bubthegreat Aug 12, 2026
3680bc9
fix(deploy): pin base deployment image to 0.0.1-alpha2 (no :latest fo…
bubthegreat Aug 12, 2026
36206e7
refactor(deploy): Service -> ClusterIP; route externally via shared g…
bubthegreat Aug 12, 2026
5db708d
fix(deploy): startupProbe + tolerant liveness + more CPU (stop login …
bubthegreat Aug 12, 2026
d726fa1
Add gameplay test suite design spec (harness + bug-first + core + are…
bubthegreat Aug 12, 2026
6f323b6
test(gameplay): harness + Phase-1 regression tests (dispatch/combat/o…
bubthegreat Aug 12, 2026
3d13f4f
fix(ci): make ty type-check pass (config + legacy-rule leniency + rea…
bubthegreat Aug 12, 2026
eddb55f
fix(do_put): resolve inventory item IDs before use ('put all' crash)
bubthegreat Aug 12, 2026
248bd8c
fix(commands): silent-crash bugs surfaced by whole-suite smoke test
bubthegreat Aug 12, 2026
8990638
deploy: roll pyrom 0.0.1-alpha3 (gameplay bug fixes)
bubthegreat Aug 12, 2026
179337f
Default bare 'look <container>' to look-in behavior
bubthegreat Aug 12, 2026
17f794c
Add Tier 1 behavior tests: movement, inventory, combat depth
bubthegreat Aug 12, 2026
2bd438e
Add Tier 2 behavior tests; fix fully-broken selling
bubthegreat Aug 12, 2026
9717a84
Add Tier 3 tests: deep persistence, PC death, and the area contract
bubthegreat Aug 12, 2026
8c1db0f
Exclude per-area test dirs from ty so CI stays green
bubthegreat Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .coverage
Binary file not shown.
30 changes: 30 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
__pycache__/
*.pyc
*.pyo
*.pyd
.Python
*.so
*.egg
*.egg-info/
dist/
build/
.pytest_cache/
.mypy_cache/
.coverage
htmlcov/
.tox/
.venv/
venv/
ENV/
env/
.git/
.gitignore
.github/
*.md
!README.md
tests/
.pre-commit-config.yaml
k8s/
argocd/
Makefile

34 changes: 34 additions & 0 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: ty

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
typecheck:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: ["3.12", "3.13"]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install UV
uses: astral-sh/setup-uv@v4
with:
enable-cache: true

- name: Install dependencies
run: uv sync --all-extras

- name: Run ty
run: uv run ty check src
34 changes: 34 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Pytest

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: ["3.12", "3.13"]

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install UV
uses: astral-sh/setup-uv@v4
with:
enable-cache: true

- name: Install dependencies
run: uv sync --all-extras

- name: Run tests
run: uv run pytest tests
33 changes: 33 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This workflow will upload a Python Package using UV when a release is created
# UV is a modern, fast Python package manager from Astral (creators of Ruff)

name: Upload Python Package

on:
release:
types: [published]

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install UV
uses: astral-sh/setup-uv@v4
with:
enable-cache: true

- name: Build package
run: uv build

- name: Publish package
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: uv publish
20 changes: 19 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,22 @@ __pycache__/
*.pyproj
*.sln
*.suo
.idea/
.idea/
venv/
data/players/
data/world/instances/
instance_tracker.txt
*.egg-info/

# Build artifacts
build/
dist/
*.egg
.eggs/

# UV
.venv/
uv.lock

# Python version
.python-version
24 changes: 24 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-docstring-first
- id: check-yaml
- id: debug-statements
- id: name-tests-test
- id: requirements-txt-fixer
- repo: https://github.com/psf/black
rev: 19.3b0
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.910-1
hooks:
- id: mypy
additional_dependencies: [types-all]
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
Loading