/artifacts lists everything people and agents made
in a workspace: projects, dashboards, Pages with panels, Word documents,
sheets, slide decks and designs. From the library you can search and filter
artifacts, preview one without leaving the list, and open it to see its
content, versions and history.
The library is off by default. Each part of it is switched on separately:
The default production build sets none of these to
true. Enable a workspace
flag with crewship feature-flag enable <key>; see
feature-flag. With NEXT_PUBLIC_ARTIFACTS_LIBRARY
unset, /artifacts sends you to /pages. NEXT_PUBLIC_ARTIFACTS_DESIGN=true
on its own also serves /artifacts.Artifact kinds
Each artifact holds one kind of content. The kind decides what opens it and whether it has versions. The library groups kinds as Artifacts (many people at once) and Craft (one editor at a time).
A Page with panels (monitors and queues that crews fill, see
Pages) shows as a Dashboard, or as an App when it
publishes an application.
The card, the Kind chips on Home, the Kind filter in the side panel,
its counts, the Preview panel and the artifact’s own header all use the
same kind. The library knows a design system and an interactive app from the
list itself, before you open them, so a design system is counted under
Designs and an interactive app under Apps everywhere. Older searches
and links keep working:
kind:project finds Apps, kind:page finds the
kind a Page with panels shows as.
Each item in the library shows its version state:
- Shared vN: people with access see version N.
- Not shared: the artifact has versions, but none is shared yet.
- No chip: the kind has no versions, such as an App made from a Page with panels.
Open the library
- In the sidebar, under Work, click Artifacts.
- The library opens on Home:
- Needs attention lists up to six artifacts that need you, by one fixed rule (below). It is hidden when nothing does.
- Below it, every artifact in view (all of them, or the folder you picked) as a Grid of cards or a Table. Kind chips above the list (All, Docs, Apps, Word and so on, each with a count) narrow it to one kind.
- On the left, the side panel has a search box, a Filter button, the main lists (Home, All artifacts, Needs attention, Recently opened), then Views and Folders.
The Needs attention rule
An artifact needs attention when one of these is true, checked in this order:- Your recovered draft: this browser kept unsaved edits to a native Word document after its edit lock was lost. Only you see it, and only in this browser.
- Refresh failed: at least one of its panels failed to refresh and keeps its last confirmed data.
- Data is stale: at least one panel is past its refresh window, and you own the artifact.
components/features/artifacts-library/attention.ts.
An empty workspace shows No artifacts yet with a New artifact button.
If the workspace holds only blank items, the message says how many are in
Empty and offers Show empty.
Find an artifact
Search
Type in Search artifacts… at the top of the side panel. Text matches the name or the address (slug). You can also use these operators:
For example,
kind:dashboard is:shared sales finds shared dashboards whose
name contains “sales”. If you search from Home, the library switches to
All artifacts.
Filter
- Click Filter next to the search box.
- A block opens with the groups Kind, Who can open, Version and Owner. They start folded; click a group’s heading to expand it.
- Pick values: Who can open has Everyone with access and Private, Version has Shared version, Not shared yet and No versions. The count next to each value is how many items you would see if you picked it. Kind and Version values with no matching artifact are hidden unless you already selected them. Clear in the block’s header drops all filters.
- To close the block, press Esc or click Filter again. Chips under the main lists show the filters you set; click a chip’s remove button to drop that filter.
Views and folders
Views in the side panel:- Mine: artifacts you own.
- Favorites: artifacts you starred.
- Clean up: names that repeat with a number or date, such as “Smoke test 1”, “Smoke test 2”, “Smoke test 3”. It only suggests what to tidy up.
- Test items: artifacts the server marks as made by tests or probes.
- Empty: artifacts with nothing in them yet.
- Archive: archived artifacts.
Sort, group and layout
Above the list:- Sort: Last edited (the default), Name or Kind.
- Group: None, Kind or Folder.
- Layout: List, Gallery or Table. Table has the columns Name, Kind, Shared, Folder and Updated.
view, q, kind,
access, version, owner, folder). A reload keeps them, and you can send
the link to someone.
Preview and open an artifact
On a desktop, a click previews an artifact without leaving the list:- Click an artifact. A Preview panel opens on the right with its kind, version, folder, who can open it, owner and when it was last edited. It also has Open and Share buttons and a star.
- To open the artifact, click Open or press Enter. In a wide window, where the preview sits beside the list, clicking the same row again also opens it. In a narrower window the preview covers part of the list, and a click outside it closes the preview instead.
- To close the preview, press Esc or click the close button.
/artifacts/<id>, where <id> is the
artifact’s permanent ID. Links in the older forms /artifacts?item=<slug>,
/artifacts/<slug> and /artifacts/@<id> still work and move to the ID
address. To go back to the list, click
All artifacts or press Esc.
What the detail view shows
Every kind opens in the same frame. The folder panel steps aside while an artifact is open; the pin button at the top of the panel keeps it open beside every artifact.- The header reads
Artifacts › folder › name. Click the folder (or All artifacts) to go back. The name opens the artifact menu, which holds every action: Share…, Copy link, Move to folder…, Add to favorites, Version history where the kind has one, and Info. An action you can’t use stays in the menu, greyed out, with the reason under it. - The status chip beside the name says what is happening, for example Saving…, Saved · v4, Jana is editing, Read-only or Stale · 1 panel. Click it for details. Saved appears only after the server confirms the version. A kind with no live signal shows no chip.
- The right side of the header has Agent, Comments and History (each where the kind supports it) and Share.
- The drawer on the right holds the kind’s own tabs plus Agent, Comments, History and Info. Info shows the kind, version, owner, folder, link and who can open the artifact and why. On a tablet the drawer covers the right side; on a phone it fills the screen.
- Agent offers only what the server supports for that kind. Ask opens chat with the artifact as context and your request as an unsent draft. Edit appears for a native Word or Sheet when the server allows agent tasks and you can edit; it starts the Craft agent task. With no agent path at all, there is no Agent button.
- Project, Dashboard, Slides: the artifact viewer, with the tabs Preview, History and Comments and a version switch in its header. See Versions.
- Design: the design canvas.
- Page: the Page’s panels, shown in the detail view.
- Native Word and Sheet, with
NEXT_PUBLIC_ARTIFACTS_LIBRARYenabled: the Craft editor opens inside the detail when the server confirms editing is available. Readers without edit access get the shared preview. This mode has no full-view link;/pages/<slug>leads back to the artifact detail. Version history opens in the drawer. - Word outside that mode: a read-only preview of the saved version, with Open full view. When the Craft lease bar is enabled, it shows who holds the lease and offers Edit in a new tab.
- Sheet outside that mode, and project kinds whose viewer is switched off: the name, kind and state, with Open full view.
Create an artifact
-
New artifact in the top bar is a split button:
- The main part starts the kind you last started from this button, its menu or the Home guide (the first kind you can make the first time). Press N in the library list for the same; it does nothing while you type or while a dialog is open.
- The arrow (or Shift+N) opens the menu. Pinned lists up to five
kinds; press 1–5 to start one. Recent lists up to three
kinds you started lately that aren’t pinned. All kinds shows every kind, grouped Artifacts and
Craft, with a Family filter. Find a kind searches names,
editors (WordCraft, GridCraft) and file types (
.docx,.xlsx,.csv); Enter starts the first result. A kind this workspace can’t create shows Off. - Click the star next to a kind to pin or unpin it. Edit reorders the pins and Reset to default brings back the first five kinds. A sixth pin is refused with Pinned is full (5).
- Pins, recent kinds and the Home guide are your own preferences: they follow you across devices and are kept per workspace (the guide once for all). Nobody else sees them.
-
In the New artifact dialog you can still change the kind. Kinds that this workspace can’t create
are listed under Coming. Docs is offered when the server confirms
the shared document format; Word when it confirms a Word editor (native
Word
wordcraft_native, the WordCraft SDK or commands); Sheet when it confirms native Sheet (gridcraft_native). A workspace that serves only the shared document format offers Docs, not Word: that document opens as Docs. - Enter a Name. Pick a Folder, or leave it Unfiled. If an artifact of the same kind and name is already in that folder, a warning offers Open it instead.
-
Under Start with, choose how to start:
- Page with panels: Empty page. Click Create page. Crews add panels on their next run.
- Design: Blank canvas. Click Create and edit.
- Docs: Blank. Click Create and edit. The document opens at its own address and is listed under Docs. It is yours until you share it; then others with access write in it at the same time.
- Word: Blank to open an empty document with you holding the lease, or Describe it to have an agent write the first draft. For Describe it, chat opens with your request as a draft; turn on Create document in chat, then send it.
- Project, Dashboard, Slide deck: Describe it or From template. Click Continue in chat. Chat opens with your request as a draft. Turn on Create artifact project in chat, then send it to an agent. Without it, the message goes out as a plain chat message and no artifact is made. The agent creates the artifact unfiled; you can file it afterwards.
page.create capability. The server checks this on every create. A member
who can’t create, such as a Viewer, doesn’t see New artifact in the bar
or in the empty library; this includes Project, Dashboard and Slide deck,
which an agent makes for you.
Versions
Projects, dashboards, slide decks and designs keep immutable, numbered versions (v1, v2, …), and so do native Word documents and sheets. Each save by an agent or a person adds a new version. Two versions matter most:- Latest: the newest version. Its owner, and people with edit access, work on it.
- Shared: the version other readers see. Until a version is shared, the artifact is a Draft and readers see nothing.
The steps below use the project viewer. Projects, dashboards and slide decks
open in it.
View an older version
- Open the artifact. The viewer header shows the version switch: Latest v3 and Shared v2, for example. If nothing is shared, Shared shows — and can’t be selected.
- Click Shared to see the version readers get. A banner says You see the shared version v2, the one people with the link get. and names the latest version.
- For any other version, open the History tab and click View next to it. A banner says You are viewing v1. Latest is v3.; click Back to latest to return.
Share a version
- Open the artifact and show the version you want to share. It is usually Latest.
- In the toolbar under the tabs, click Share (the link icon, not the Share button in the top row).
- The popover says People with access will see v3. Later versions stay private until you share them. Click Share v3.
- Shared v3 appears, and the header chip changes from Draft to Shared.
Restore an older version
Restoring never rewrites history. It copies an older version into a new version on top.- Open the artifact and click the History tab. The list says, for example, 3 versions · restore makes a new version, nothing is deleted. Each row shows the version number, who saved it, its message and when, with Latest and Shared marked.
- Next to the version you want back, click Restore as new version.
- A notice says Restored v1 as v4 · nothing deleted. The new version’s message is Restore version 1, and its row says Restored from v1.
- The shared version does not change. To show the restored content to readers, share the new version.
History and storage limits
The history of each project, dashboard, slide deck and design has its own storage budget. The server configures history limits for native Word documents and sheets separately.
Files with identical content are stored once per artifact. Restoring an
older version therefore takes up almost no new space.
The history is kept in full (
keep-all): nothing is pruned or deleted
automatically. A person with edit access works on the latest version only
(latest-version-only). A reader who only sees the shared version gets
that one version (shared-version-only), never the older ones.
When a project’s history passes 80%, the owner sees a banner
in the viewer,
This project is close to its limit. It shows how much is used, for
example 205 MB of 256 MB (80%), with a Review versions button
that opens History.
When a save would go over a limit, it is refused with HTTP 413, and the
viewer shows Saving is paused: History is full, so this was not
saved. Existing versions stay intact, and your draft comment stays in
place. A version with more than 256 files is refused as invalid.
Favorites and recently opened
- To star an artifact, click the star in the preview or in the detail view (Add to favorites). Click it again to remove it.
- Favorites lists your starred artifacts. Recently opened lists the last ones you opened, newest first.
Troubleshooting
Related
- Pages: panel Pages that crews keep filled
- Docs history and compare: history for the separate Docs backend
- Native Word and Sheet editing: Craft custody, confirmed saves and recovery
- feature-flag: enable workspace flags
Publish a Library and pin it in other projects
A Design System artifact is the Library. Saving a version does not change any other project: the Library’s owner chooses the published version withcrewship page artifact library publish <slug> --version <n>. Editors keep
saving draft versions; they do not publish.
A project that uses the Library keeps its own copy of the published
design-system.json, made with crewship page artifact pin set. The copy is a
record the project owns:
- restoring or editing the Library never changes it;
- deleting the Library, or losing your access to it, keeps the copy;
- losing access does block the next update;
- everyone who can read the project can read the copy (tokens, Library name, and the font and licence files the pin carries), even without access to the Library, and the copy survives unsharing the Library. Pin only what all of the project’s readers may see.
What a pin carries
Tokens are closed literals (hex colours, pixels, plain font-family names), so they cannot reference other files. Besidesdesign-system.json, a pin carries
the Library’s font files and the licence files that let them travel:
-
Store a font in the Library as a text file with a font extension
(
.woff2,.woff,.ttf,.otf) whose content is a base64 data URL, for exampledata:font/woff2;base64,d09GMg…. The bytes must start like the format the extension names. -
An optional
fonts.jsonnames each font’s family, weight and style, and may give its licence as an SPDX id: -
A font is copied only with a redistributable licence:
- an explicit
licenseinfonts.jsonofOFL-1.1,OFL-1.0,Apache-2.0,MIT,UFL-1.0,CC0-1.0,Bitstream-VeraorBSD-3-Clause(any other id keeps the font out, whatever licence files say); - without one, a
LICENSE,OFLorCOPYINGfile next to the font titled with the SIL Open Font License 1.1, Apache License 2.0, the Ubuntu Font Licence 1.0, the MIT License or CC0 1.0 Universal; - without either, a licence file at the Library root only when it is a
font licence (OFL or UFL). A root MIT or Apache
LICENSEusually covers the repository’s code, so it never lets an undeclared font travel; declare the font’slicenseinfonts.jsoninstead.
SIL OPEN FONT LICENSE Version 1.1), at the start of a line; a sentence that merely mentions a licence, such as “not under the SIL Open Font License”, does not. The licence file is copied with the font. - an explicit
- A font without such a licence, over 1 MiB, or one that would take the pin past 4 MiB is listed with the reason and never copied. The 4 MiB covers every copied byte, the licence files included. Nothing is ever downloaded.
fonts.json or font files are invalid.
crewship page artifact pin files <slug> returns the carried files, bytes in
base64; each copy is checked against its SHA-256 whenever its bytes are read.
The pin itself, pin show and pin check list the files without loading the
bytes. The project’s Library notice lists the fonts its pin left behind, with
the reason.
A pin made before fonts travelled with a Library holds the published version
but no files. pin check then reports dependencies_missing together with
update_available, and applying the same version copies the fonts without
changing the tokens.
Previews render from the pin
A project that pins a Library previews with its own copy, never the live Library, so edits, restores and publications change nothing until someone applies an update:- a static project preview gets the pinned default theme as CSS custom
properties, first in its
<head>so the project’s own styles still win:--ds-color-<name>,--ds-space-<name>,--ds-radius-<name>,--ds-font-<name>and--ds-font-size-<name>, plus an@font-facefor each copied font thatfonts.jsonnames. Use them ascolor: var(--ds-color-primary); - Slides can name pin tokens in an optional
slides-library.jsonfile in the consumer’s saved project. For example:{"schema_version":1,"background":"canvas","text_color":"ink","typography":"body"}. The first two names select color tokens; the third selects the text size, weight and font family. The preview, thumbnails and Present use the resolved values. A missing token or uncopied font keeps the saved styling for that property. The PDF still uses the saved deck.
crewship page artifact pin check
reports update available with the token paths it adds, removes and changes,
the font and licence files it adds, removes and changes, and the fonts it would
leave behind with the reason.
Nothing changes until someone with Edit on the project applies exactly the
reviewed state with pin set --version <published> --if-pinned-library <library> --if-pinned-version <pinned>. Workspace administrators cannot pin a Library
they reach only through their administrator role. Full reference:
CLI: Library publication and pins.
Design System token preview
A Design System is a Project artifact whose version includes a file nameddesign-system.json. It uses the same versions, access rules and sharing as
Projects. It is separate from the collaborative Design canvas and does not
apply tokens to another artifact automatically.
The read-only preview needs NEXT_PUBLIC_ARTIFACT_DESIGN_SYSTEM=true in the
web build, plus the Project server flag and a library or chat viewer enabled
as described above. For example, build from source with:
- Ask an authorized agent to create a Project containing
index.htmland the token file, or supply those files throughcrewship page artifact create. - Open the artifact in the library. The viewer badge reads Design System. It displays color swatches, typography samples, spacing and radius samples, and optional component names and descriptions. With the Library view (Design · Library), a system with more than one theme shows a theme switch beside the search box: each swatch and each component preview then uses that theme’s values. Every swatch shows the contrast ratio of white or black text on it (whichever is higher) and its WCAG 2 level (AAA, AA, AA large or Low), plus the colour’s usage note and, when the system has more than one theme, its value in every theme. The chat artifact pane lists every theme’s value and usage note too. Text styles are grouped when the file names groups. Files in the section list shows every file of the shown version with its path, type and size. View shows a file as plain text (the first 64 KiB of UTF-8 text; nothing is rendered or run) and Download saves it under its own name. The Library shows colors, typography, spacing, corner radius, components, the README and component previews; it has no shadows or assets section, so such files appear only under Files.
- Use the version picker to inspect retained token values you may read. The owner can restore an old version as a new version and share it separately. The preview has no token editor; publish a complete manifest to change it.
design-system.json is:
Themes (schema 2)
Schema 2 adds themes. A schema 1 file keeps working exactly as before; nothing converts it, and its download is the file as stored.themesis required in schema 2: 1 to 8 entries with a uniqueid(a token name) and anameof at most 40 characters. The first theme is the default.- A colour is a hex value (the same in every theme), an alias such as
"{surface}", or{"value": {<theme id>: hex or alias}, "usage": …}. The value must name the first theme; a theme it leaves out takes the first theme’s value. Naming a theme thatthemesdoes not declare rejects the file. - An alias names another colour and resolves in each theme separately, up to 16 steps. An alias to a missing colour, or a cycle, rejects the file.
usageis plain text of at most 280 characters.- A text style may have a
groupof at most 40 characters. - Aliases,
usage,themesandgroupare rejected in a schema 1 file.
schema_version newer than this version of Crewship reads
shows This Design System uses format version N, which this version of
Crewship cannot show. The file is unchanged. instead of a partial view.
Limits
The file must be at most 32 KiB and have exactly one entry in the manifest.schema_version, colors, typography, spacing and radii are required;
name and components are optional. Unknown fields or duplicate JSON keys
reject the whole preview. Each token group permits at most 128 entries. Token
names start with a lowercase letter and contain only lowercase letters,
digits and hyphens, at most 48 characters; constructor and prototype
are reserved.
Colors are literal six-digit hex values. Spacing and radii are integer pixels
from 0 to 4096. Typography requires integer size from 1 to 512 and optionally
font_family (a plain font-family list), weight (100–900 in steps of 100),
and line_height (0.5–4). The optional component list holds at most 64 uniquely
named entries with plain-text names up to 80 characters and descriptions up
to 280. Tokens cannot contain CSS expressions, markup or URLs.
An invalid file shows This Design System file is invalid or uses an
unsupported format. Saving a Project does not validate this preview format:
correct the token file and publish a new complete version. With the preview
flag off it remains a normal Project. A Slides manifest takes precedence over
the Design System preview; keep these formats in separate artifacts.