Skip to content

further improvements of docs #1023

Description

@jepegit

Context

The cellpy 2.x docs have a solid skeleton (Getting started → Tutorials →
How-to guides → Concepts → Reference), but they are still written mostly from
the inside out: they describe what cellpy has, rather than answering the
questions a user actually arrives with.

The typical cellpy user is a battery scientist with good electrochemistry
knowledge and limited Python experience
. When that person hits trouble —
a file will not load, capacities look wrong, the units are not what they
expected, they do not know which column holds what — there is currently no
page in the docs that meets them there.

Concrete gaps found in a first pass:

  • No troubleshooting / FAQ page at all. Nothing indexed by error message
    or symptom ("NotImplementedError", "no cycles found", "capacity is zero",
    "cannot read .res on Linux").
  • No glossary and no units page. Nothing that maps battery-science
    vocabulary onto cellpy names, and nothing that states plainly what unit a
    mass, capacity, or current is in, or how to change it.
  • No CLI reference. The cellpy command-line tool is used in setup and
    checkup pages, but its subcommands are not documented anywhere.
  • No task index / cookbook. A user who knows what they want ("plot cycle
    life", "export to Excel for Origin", "get areal capacity") has to guess
    which tutorial contains it.
  • Column-level reference is thin. fundamentals/data_structure.md
    explains the shapes but not what each column means or its unit.
  • Discoverability. Several good answers already exist in the docs but are
    buried inside long tutorials with no entry point from the navigation.

Goal

Iteratively improve the documentation by repeatedly role-playing a cellpy
user who runs into trouble — mostly the limited-Python / strong-science
persona, but also occasionally a complete newcomer and an experienced
Python developer — and then fixing whatever the docs failed to answer.

Approach

A series of small, focused pull requests. Each iteration:

  1. Adopt a specific user persona and a specific realistic problem.
  2. Try to answer it using only the published docs.
  3. Write or restructure whatever was missing or unfindable.
  4. Wire the new material into zensical.toml navigation and cross-link it
    from the pages the user would actually be on.
  5. Green CI (essential, full, and the Docs link-check build), then merge.

Acceptance criteria

  • Each iteration lands as its own merged PR with green CI.
  • The docs build stays link-clean (the Docs workflow fails on any
    broken link or missing anchor).
  • New pages are reachable from zensical.toml navigation, not orphaned.
  • Content is verified against the actual code, not assumed — every code
    snippet and every option name checked against the source or run.
  • Writing stays at the level of a scientist who is not a programmer:
    concrete, task-first, minimal jargon, no unexplained Python idioms.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions