• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

coderaiser / putout-editor / 36339609937
100%

Build:
DEFAULT BRANCH: master
Ran 27 Sep 2026 06:11PM UTC
Jobs 3
Files 116
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Sep 2026 06:05PM UTC coverage: 100.0%. Remained the same
36339609937

push

github

coderaiser
docs: architecture: mermaid for the four packages, and for putout's shape

architecture.md said where things live in prose and one ASCII sketch of the client data
flow. That does not show the thing that is actually hard to hold in your head: which
edges are permitted. So the diagrams are drawn from the sources of truth rather than from
the prose, and each one says which source it came from.

The client graph is generated by reading config/boundaries-config.ts - the eslint-plugin-
boundaries policy - so every arrow in it is an edge that fails the lint if you cross it
the other way. That is the value: it is not a picture of the architecture, it is the
architecture's own rulebook, with 17 elements and 40 edges. Two things read off it that the
files do not say: store and parser import each other on purpose, and menu is a leaf.

Drawing the server turned up a fact worth having in the map rather than in a comment.
It has no @putout/* dependency at all, src/redput.d.ts declares a module nothing imports,
and TransformModule is an empty @Module({}) - so parse is @babel/parser plus its own
compactAST/queryAST, and there is no transform endpoint to go looking for. That module is
drawn dashed for the same reason. The consequence is a maintenance one: a change to the
client's parser has no server counterpart to keep in step.

The mcp graph groups the eight tools by whether they run a plugin, because that is the
distinction that decides which one you reach for - get_example teaches a shape, the
reference tools answer a question, and only four actually execute anything.

putout-map.md gets the same treatment: the layer graph with the composition root drawn
deliberately at the top, and the plugin-shape graph with the one CommonJS outlier marked
"drift, do not copy" so that spotting one is a signal rather than a shrug.

Verified before committing: subgraphs balance, no duplicate node ids, no edge to an
undeclared node, and no unquoted parentheses in a label - which ar... (continued)

1081 of 1081 branches covered (100.0%)

Branch coverage included in aggregate %.

6663 of 6663 relevant lines covered (100.0%)

61.54 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36339609937.1 27 Sep 2026 06:11PM UTC 116
100.0
GitHub Action Run
2 36339609937.2 27 Sep 2026 06:11PM UTC 116
100.0
GitHub Action Run
3 36339609937.3 27 Sep 2026 06:12PM UTC 116
100.0
GitHub Action Run
Source Files on build 36339609937
  • Tree
  • List 116
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36339609937
  • 5c4aa399 on github
  • Prev Build on master (#36337843697)
  • Next Build on master (#36345596550)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc