| [ Web Proxy ] |
| Viewing: https://dev.profullstack.com/ | [Back] [Original] |
Profullstack dev box — staff links and user pages.
Our comms network runs over SSH. First time, connect as
join — your SSH key becomes your account and you get a
username, a Linux pod and a homepage. After that, sign in as your BBS name.
ssh join@bbs.profullstack.com # first time: registers your key ssh <your-bbs-name>@bbs.profullstack.com # sign in -- arcade, chat, news, mail, pod ssh bbs@bbs.profullstack.com # look around as a guest
Once signed in the hub reaches everything without separate logins. Handy direct entrances:
ssh mail@bbs.profullstack.com # your BBS mailbox ssh irc@bbs.profullstack.com # members' IRC from your terminal ssh -t news@bbs.profullstack.com # Usenet-style newsreader ssh pod@bbs.profullstack.com # your Linux pod
All dev work on this box goes through moshcode. It is
already installed for every account — it is the wrapper that installs and
drives the coding agents, so you do not set them up yourself. Run
moshcode with no arguments for the TUI, which we call the pit. That
is where the day starts, and its slash commands are also how you reach people
and how you bill — see below.
moshcode # the pit, then /agents <engine> moshcode engines # what is installed: claude, codex, gemini, opencode, aider moshcode install claude # add an engine moshcode claude # launch one directly moshcode agents claude # autonomous mode -- auto-approves, use in trusted dirs only
On your own machine — source at
github.com/moshcoder/moshcode.
Never run it with sudo: it re-runs its own root steps where it
needs them, and sudo moshcode installs into /root
instead of your account.
curl -fsSL https://moshcoding.com/install.sh | sh moshcode upgrade # once installed, this is how it updates itself
It also fronts the workflow CLIs. Each keeps its own auth, so signing in to one signs you in to nothing else:
moshcode tools # gh, supabase, railway, doppler, doctl, ugig, coinpay, moshcode gh pr list # passthrough -- same as running gh yourself moshcode upgrade # update moshcode and everything it installed
Run it under tmux, which is installed here and works
well with the pit — a dropped connection then costs you nothing, and you
can leave an agent running while you go and do something else. mosh
above survives the same drop; tmux is what survives you closing the laptop.
tmux new -s work # start a named session tmux attach -t work # come back to it, from anywhere # ctrl-b d detaches and leaves everything running
Employees and contractors talk to us through the pit.
Not email, not a private DM somewhere we cannot see it — open
moshcode and use the slash commands. It keeps the conversation next
to the work and reachable by everyone who needs it, and it means you do not need
another account or another app to reach your lead.
/chat # the room -- ambient, where the team is /message <who> <text> # reach one person /msg <who> <text> # same thing, shorter
Type /help in the pit for the current list — it is
the authority, and it grows. The SSH side of the network (rooms, IRC, Usenet,
BBS mail) is AgentBBS, described above; the
slash commands are the shortest path from where you are already working.
Contractors bill through the pit too, and it lands in CoinPay — so an invoice, its payment and its history are one record rather than a thread and a spreadsheet. Raise it against the work you did; do not send an invoice by email.
/invoice # raise an invoice /payment # pay one, or check a payment /billing # your account -- invoices, status, history
These front CoinPay, which is also wrapped as a tool if you would rather drive it directly:
moshcode tools coinpay # or /tools coinpay from inside the pit
Two separate logins, and this trips everyone up.
Both need --device here: there is no browser on this box, so the
loopback flow has nothing to open. You approve the code from your laptop.
moshcode login --device # app.moshcode.sh -- lets notify()/ask() reach you moshcode whoami moshcode secrets login --device # LogicSRC -- team vaults. NOT the same account. moshcode secrets whoami
Team secrets, once secrets login has been done —
<team> and <vault> are your own names, run
teams list and teams vaults to see them:
moshcode secrets teams list moshcode secrets teams vaults <team> moshcode secrets teams pull <team> <vault> # decrypt into a local .env moshcode secrets teams push <team> <vault> # encrypt a local .env back up
Anything in ~/apps/<name> is published at
https://<name>.<you>.dev.profullstack.com with TLS. New apps go
live within a minute — no root, no restart, no ticket.
# a static site mkdir -p ~/apps/blog/public && echo hi > ~/apps/blog/public/index.html # a running app: declare the port, then listen on it mkdir -p ~/apps/api && echo 3000 > ~/apps/api/.port node server.js # bind 127.0.0.1:3000, not 0.0.0.0
Websockets and HMR are proxied through, so vite/next dev servers
work as-is. Bind to 127.0.0.1 — the firewall blocks the port
directly and nginx is what terminates TLS for you.
Straight away, no setup:
ssh <your-username>@dev.profullstack.com mosh <your-username>@dev.profullstack.com # survives a dropped connection
Or add this to ~/.ssh/config on your laptop and it becomes
just ssh dev:
Host dev
HostName dev.profullstack.com
User <your-username>
Port 22
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Send your public key (~/.ssh/id_ed25519.pub) to get added.
Optional, and it changes nothing today — the ssh above
already works from anywhere. It only starts to matter if public ssh is ever
closed. You cannot add your laptop from a shell on this box.
Enrolling a device is something that device does, so it happens on the laptop
or the phone; nothing you type here reaches it. Do not reach for
sudo either — tailscale up run here
re-authenticates this box, not your laptop, and takes it out from
under everyone else logged in. Ask for a share link instead:
# on your laptop or phone -- not here # 1. install tailscale, sign in, make your own (free) tailnet. # that is where your devices get added: to yours, not ours. # 2. open the share link you were sent and accept it. this box # then shows up in your tailnet, and nothing else of ours does. ssh <your-username>@dev.<tailnet>.ts.net # exact name is in the share linkYour page lives in
~/public_html/index.html.
Reachable at https://<user>.dev.profullstack.com or https://dev.profullstack.com/~<user>.
| Web Proxy Viewer | New URL | Original Page |