CLOUDMORROW

Quills / Productivity

Cells

Small spreadsheets: cells, numbers and formulas, worked out the same on the phone, the web, the terminal and the command line.

Star · 0 Nobody has starred it yet

What it does

  • Sheets of cells: type text, a number, or a formula starting with =
  • Excel's formulas, the useful ones: cells and ranges, + - * / ^ &, comparisons, SUM, AVERAGE, MIN, MAX, COUNT, COUNTIF, SUMIF, IF, AND, OR, ROUND, ABS, MOD, SQRT, LEN, CONCAT, UPPER, LOWER, TRIM, IFERROR, …
  • What a formula comes to is worked out as you type, by the same rules on every surface; errors show in the cell as #DIV/0!, #REF!, #NAME?, #VALUE!, #CIRC!
  • Select a block of cells with the mouse or Shift, a whole row or column from its heading, and clear it with Delete
  • Borders: a side, all around, or every cell, from the buttons over the formula bar — kept in the file beside the cells
  • Put rows and columns in or take them out from a heading's menu; the formulas follow, as Excel's do
  • A sheet is a .cell file in the Documents folder of your drive: its cells kept exactly as typed, in My Files, on WebDAV, and open to your assistant and anything that reads JSON
  • An Excel file (.xlsx) in that folder is a sheet too: opened, edited and saved back as Excel
  • Export hands any sheet over to save as Excel, as a PDF, or as CSV
  • Open a sheet from anywhere on your cloud: another folder of your drive, a fileshare, an Excel file somebody put there
  • Saves as you type; a sheet changed somewhere else is never written over
  • A first sheet, a small budget, for everyone the first time they open Cells
  • cm cells show Budget, get Budget B5, set Budget B5 "=SUM(B1:B3)", export Budget ./Budget.xlsx from the command line

Add it to your cloud

In your cloud, open Quills: Administration → Quills as an administrator, Me → Your Quills as anybody else. On its Catalog tab, Cells is on the Productivity shelf: open it and say yes. Its id, wherever your cloud asks for a quill by name:

id cells

Or on the command line, as an administrator for everyone, with --mine for yourself alone:

$ cm quill add cells

Either way your cloud shows you everything below and waits for your yes.

Standard. The installer offers Cells when you set up a new cloud, so you may have it already. How installing works

What it adds to your cloud

Datamodels

The kinds of data it works with. On a fresh cloud everyone can read and write what it brings the moment it is installed; the install sheet says so, and an administrator narrows it with circles. Records belong to the people who write them, not to the quill: removing it leaves every one where it is. What it adds — fields of its own, datamodels of its own — stays too, unless the administrator removing it chooses to drop them.

Uses

File file

foundational

A file or a folder in a share or in My Files: a real file on disk, reached over WebDAV and the desktop app's mounts as well.

  • Share share link to Sharerequired Indexed
  • Path path text, one linerequired Indexed
  • Folder folder text, one line Indexed
  • Name name text, one linerequired Indexed
  • Kind kind one of File, Folder Indexed
  • Size size whole number Indexed
  • Modified modified date and time Indexed
  • Type mime text, one line Indexed
  • Text text text Encrypted
  • Deleted deleted date and time Indexed
  • Deleted from deleted_from text, one line Encrypted

Indexed fields are kept plain, so your cloud can sort and filter by them. Encrypted fields are encrypted before they reach the disk.

Screens

CellsA sheet of files. This kind of screen is drawn in a later release.

Each is a tab, drawn by your cloud itself on every surface:

  • Phonethe web app, made for the phone
  • Webthe full web app, in a browser
  • Terminalthe terminal app
  • Command linecm cells
  • Assistanttools for your assistant, as you

Comes with

Files from datasets/welcome.toml for each person, the first time they open Cells.welcome

Its own code

None. Everything it does is declared in quill.toml and run by your cloud itself.

In its own words

A Quill for Cloudmorrow: small spreadsheets — cells, numbers and formulas — on the phone, the web app, the terminal and the command line.

  • A sheet is cells in rows and columns. Type text, a number, or a formula starting with =: =SUM(B1:B3), =IF(B5>1000, "over", "under"), =ROUND(B5/30, 2). The useful part of Excel's formulas, and nothing of the rest of Excel: no pivots, no charts, no macros.
  • What a formula comes to is worked out as you type, by the same rules on every surface, so a sheet never says one thing on the phone and another in the terminal. What goes wrong shows in the cell: #DIV/0!, #REF!, #NAME?, #VALUE!, #CIRC!.
  • A sheet is a .cell file in the Documents folder of your drive on the server: a plain text file holding its cells exactly as typed — in My Files, on WebDAV, in a backup of the folder, open to cm, to your assistant, and to anything that reads JSON. Cells is the kit's sheet over those files and nothing more. Removing this Quill takes the tab away, never a sheet.
  • An Excel file (.xlsx) in that folder is a sheet too: it opens here, and is saved back as Excel. What the kit keeps — the cells, the formulas, the borders — goes to and from Excel; fonts, colours and charts do not.
  • Export hands any sheet to you as Excel, as a PDF, or as CSV. Open opens a sheet from anywhere on your cloud — another folder of your drive, a fileshare, an Excel file somebody put there — and it stays where it is. cm cells export Budget ./Budget.xlsx and cm cells show my-files:Reports/Q3.xlsx do the same from the command line.
  • It saves as you type. A sheet changed somewhere else since you opened it is never written over.

The file, the formulas, and what each surface does, are docs/CELLS.md in the Cloudmorrow repository.

Install it from the Quill Catalog, or from this repository with cm quill add --source https://github.com/Cloudmorrow/quill-cells --ref v2.2.0.

What it adds to your Cloudmorrow

cm quill check prints this for you; keep it here for the catalog page.

Datamodels uses file
Screens Cells: the sheets, and one open as a grid — on the phone, the web app, the terminal, cm cells, and to your assistant
Datasets a first sheet, Documents/Budget.cell, for everyone once
Code none

On the command line

cm cells list                          # every sheet, newest first
cm cells add Trip                      # a new, empty sheet: Documents/Trip.cell
cm cells show Budget                   # the sheet, worked out, as a table
cm cells show Budget --raw             # as typed: the formulas
cm cells get Budget B5                 # one cell, worked out
cm cells set Budget B3 150             # one cell; set Budget B3 "" clears it
cm cells set Budget B5 "=SUM(B1:B3)"
cm cells set Budget name=Costs         # renames the file; path=2026/Costs moves it to a folder that is there
cm cells show Budget --plain           # the cells as JSON, for scripts

Working on it

uv sync                  # .venv with Cloudmorrow and pytest
cm quill check           # the manifest, as a server would install it
cm quill test            # tests/, against the real record store and gate
cm quill dev --local     # a throwaway server here, reinstalled as you save