Optional packages
A TinyCld install ships with six apps: Mail, Calendar, Contacts, Drive, Text, and Calc. Everything else is an optional package — the same kind of package those six are, just not included in the image by default. You add one from the app, the server rebuilds itself with the package compiled in, and it appears in the sidebar for everyone.
Adding a package
Only the owner can add or remove packages. That is enforced on the server, not just hidden in the UI: installing a package changes what the whole deployment runs, which is a step above ordinary administration.
- Open Settings → Packages. The list shows every package the deployment knows about, with an availability toggle and a version picker on each row.
- Press Install package. In the Package source field, enter the
package’s npm name, a version spec, or a git source — for Boards,
github:tinycld/boards. Add#v0.3.0(or any release tag) to pin a version; without a tag you get the latest release. - Confirm. The server clones the package, rebuilds, runs the package’s migrations, and restarts. Progress streams into the dialog; the app reloads when it comes back up.
A package outside the official @tinycld/ scope shows an extra warning before
it installs. Its server code runs in-process with full access to your data, so
treat installing one the way you would treat running any code on your server.
The warning is advisory — the judgment is yours.
If a build fails, or the rebuilt server does not come up healthy, the install aborts and the deployment rolls back to the build that was running before. Nothing you had is lost.
Disabling a package (the toggle on its row) hides it from everyone without uninstalling it. Uninstalling removes its code from the build but does not delete its data: reinstalling the package restores everything.
Later versions show up in the row’s version picker — a git package tracks its repository’s release tags. Stage the change, check the compatibility verdict, and press Apply. See the in-app help topic Package versions for how upgrades, downgrades, and the TinyCld Base row work.
Boards
Kanban boards for tracking work across lists. Boards is a full package in the same repository family as Mail and Drive — it joins search, automation rules, the calendar, notifications, and the command line like the built-in apps do.
Source: github:tinycld/boards · Sidebar shortcut: t then b · Settings: Settings → Boards → GitHub
What you get
- Boards and lists. Drag cards and columns, collapse a column to a count, toggle a compact card face, cap a column with a WIP limit, and watch card aging tint the ones that stopped moving. Lists carry a status (backlog, to do, in progress, done, canceled), and finished cards can auto-archive.
- Cards. A collaborative markdown description with images and @-mentions,
threaded comments with emoji reactions, a checklist, attachments (with Save
to Drive), labels, assignees, a reporter, priority, an estimate, start and
due dates with times, sub-tasks, and links to cards on any board. Every
card has a Jira-style key like
OTTER-123and its own URL. - Views. Board, table, and timeline views, plus a backlog once sprints are on. Filter and sort by anything on the card; multi-select for bulk moves, labels, assignees, priority, points, and archiving.
- Sprints and epics. Plan from a backlog, run one sprint at a time, roll unfinished cards forward, and read burndown, progress, and velocity charts. Group cards into epics with a points rollup.
- Sharing. Add people to a board as owner, editor, commentor, or viewer; share a board by link with a role and an expiry; embed a board on your own website with an allowed-origin list.
- GitHub. Attach repositories to a board and pull requests link themselves to cards by key in the branch name, title, or description. PR chips on the card roll up to an open / review / approved / merged state, and four rule triggers fire on those transitions.
- Everywhere else. Due dates and sprint dates show on the Calendar as
read-only feeds. Cards appear in cross-app search. Notifications and
watching, with per-event mute switches. Twenty automation triggers and eleven
actions — see Automation rules. A
tinycld boardscommand group covering boards, columns, cards, sprints, and GitHub — see the CLI reference. - Import and export. Import a board from Trello, export one as CSV or JSON.
After installing
Boards has nineteen in-app help topics. Open the sidebar’s Help entry in
the Boards app, or press ? anywhere, to read them. Attaching GitHub repositories
happens in the Boards entry under Settings; sharing, embedding, sprints, and
WIP limits live in each board’s menu.
For developers
In a development workspace an optional package is just another member: clone it alongside the others and reinstall at the root.
cd ~/code/tinycld
git clone git@github.com:tinycld/boards.git
pnpm install # links the member + reruns the generator
cd tinycld && pnpm run dev
npx @tinycld/bootstrap@latest --assemble-only --with boards does the same
once the bootstrap release you are using lists boards as a known feature.
Everything in Adding a package applies.
To make your own optional package, see Creating a package.
A package installed from a git URL needs a manifest.ts at its root, release
tags for the version picker, and a peerVersions entry naming the core range
it supports so the compatibility check can protect the deployment.