MCPcopy
hub / github.com/Automattic/simplenote-electron

github.com/Automattic/simplenote-electron @v2.27.2-md-editor-wysiwyg.1 sqlite

repository ↗ · DeepWiki ↗ · release v2.27.2-md-editor-wysiwyg.1 ↗
1,561 symbols 4,212 edges 381 files 7 documented · 0%
README

Simplenote for Electron

Screenshot

A Simplenote React client packaged in Electron. Learn more about Simplenote at Simplenote.com.

Running

Read this first!! Local development is currently not supported if you don't have an existing account on the test server or access to the production credentials. This is because the move to an email-first signup flow has made it impossible to create accounts in the test database. We hope to be able to support an open-source development workflow again in the future.

  1. Clone the repo: git clone https://github.com/Automattic/simplenote-electron.git
  2. cd simplenote-electron
  3. npm install --legacy-peer-deps (This flag is necessary because react-monaco-editor is pinned to a specific monaco-editor dependency, but npm considers minor versions to be breaking changes for sub-1.0.0 apps)
  4. Decrypt the config file using make decrypt_conf.
  5. npm run dev
  6. The dev server will start on http://localhost:4000, and the Electron app will launch automatically.
  7. For all logging from Electron to be printed to the terminal (e.g. console.log statements within app.js), you might need to set env ELECTRON_ENABLE_LOGGING=1.

Note: Simplenote API features such as sharing and publishing will not work with development builds. Due to a limitation of make, installation paths used for build cannot have spaces.

Building

  • make package-osx
  • make package-win32
  • make package-linux

Testing

Unit tests are run with npm test.

Coding Guidelines

Please adhere to the same guidelines as found in wp-calypso.

See CONTRIBUTING.md for more guidelines.

Dependencies

  • node-simperium for Simperium syncing.
  • ReactJS for UI.
  • Electron for wrapping the JavaScript application.
  • rpm must be installed in order to build Linux packages (brew install rpm on OSX).

Simplenote for Other Platforms

simplenote-electron is the official Simplenote desktop app for Windows and Linux.

For other platforms, see:

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
lib/global.d.ts
TitleAndPreview (Interface)
(no doc)
lib/utils/note-utils.ts
IdleDeadline (Interface)
(no doc)
lib/state/simperium/functions/note-doctor.ts

Core symbols most depended-on inside this repo

makeGfmTestEditor
called by 277
lib/markdown-editor/markdown/gfm-test-helpers.ts
importMarkdown
called by 243
lib/markdown-editor/markdown/gfm-test-helpers.ts
update
called by 195
lib/state/simperium/functions/tag-bucket.ts
dispatchArrow
called by 123
lib/markdown-editor/extensions/block-cursor-test-helpers.ts
get
called by 111
lib/state/simperium/functions/tag-bucket.ts
has
called by 70
lib/state/simperium/functions/bucket-queue.ts
selectTextNode
called by 67
lib/markdown-editor/extensions/block-cursor-test-helpers.ts
$exportMarkdownString
called by 60
lib/markdown-editor/markdown/import-export.ts

Shape

Function 1,239
Method 203
Class 116
Interface 3

Languages

TypeScript100%

Modules by API surface

lib/markdown-editor/extensions/block-cursor-navigation.ts47 symbols
lib/markdown-editor/markdown/import-export.ts39 symbols
lib/state/ui/actions.ts35 symbols
lib/markdown-editor/toolbar/index.tsx29 symbols
lib/analytics/tracks.ts25 symbols
lib/markdown-editor/markdown/list-transformers.ts23 symbols
lib/state/ui/reducer.ts22 symbols
lib/markdown-editor/toolbar/commands.ts22 symbols
lib/markdown-editor/nodes/image-node.tsx22 symbols
lib/utils/clipboard/html-to-markdown.ts19 symbols
lib/markdown-editor/extensions/list-toggle.ts19 symbols
lib/markdown-editor/markdown/gfm-transformers.ts18 symbols

Dependencies from manifests, versioned

@automattic/color-studio4.1.0 · 1×
@automattic/vip-go1.1.0 · 1×
@babel/core7.26.8 · 1×
@babel/eslint-parser7.26.8 · 1×
@babel/plugin-syntax-dynamic-import7.8.3 · 1×
@babel/plugin-transform-class-properties7.25.9 · 1×
@babel/plugin-transform-object-rest-spread7.25.9 · 1×
@babel/plugin-transform-runtime7.26.8 · 1×
@babel/preset-env7.26.8 · 1×
@babel/preset-react7.26.3 · 1×
@babel/preset-typescript7.26.0 · 1×
@electron/notarize2.5.0 · 1×

Datastores touched

(mysql)Database · 1 repos
firehose_stagingDatabase · 1 repos

For agents

$ claude mcp add simplenote-electron \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact