open-index/open-npm huggingface dataset:
npm package: @niklaserik/effect-mcp
Description: A Model Context Protocol (MCP) server dedicated to fetching the most current documentation from the Effect ecosystem.
Author: Niklas Johansson | niklas@sluh.se | @niklaserik
Latest version: 1.0.7

# @niklaserik/effect-mcp

A Model Context Protocol (MCP) server dedicated to fetching the most current documentation from the Effect ecosystem.

## Purpose

This MCP server provides real-time access to Effect documentation for AI assistants and tools. It enables VS Code extensions and other MCP clients to retrieve accurate and up-to-date Effect package documentation to assist developers with questions about:

- The core `effect` package
- Ecosystem packages (`@effect/platform`, `@effect/ai`, etc.)
- Both stable and unstable Effect packages

The server intelligently detects imported Effect packages in your code and fetches the most relevant documentation to answer your queries.

## Features

- Real-time documentation access for Effect ecosystem
- Support for both stable and experimental packages
- Context-aware package detection based on imports
- Seamless integration with VS Code and other MCP-compatible clients
- Helps answer API usage questions for Effect developers

## What this server exposes

- Resources (preferred)
  - Dynamic template: `effect-docs://{libId}`
  - Completions on `{libId}` and resource listing are supported
  - Static aliases for discovery: `effect-docs://effect`, `effect-docs://@effect-platform`, etc.
  - Supported libraries (as of now):
    - `effect`
    - `@effect/platform`
    - `@effect/sql`
    - `@effect/vitest`
    - `@effect/ai`
    - `@effect/cli`
    - `@effect/cluster`
    - `@effect/rpc`
    - `@effect/typeclass`
- Tools (for compatibility)
  - `effect-documentation`: fetch docs for selected libraries and return concatenated markdown
  - `effect-doc-links`: return plain URIs to the resources above so clients can follow them

Caching & Retry

- In-memory TTL cache (~10 minutes) to avoid refetching unchanged docs.
- Lightweight retry with small backoff on transient fetch errors.

## Installation

```bash
pnpm add @niklaserik/effect-mcp
```

## Usage

For usage in VS Code or other MCP clients, refer to the client's documentation for adding custom MCP servers.

Quick test locally:

```bash
pnpm install
pnpm build
node dist/index.js # stdio transport
```

Then connect with an MCP client (e.g., MCP Inspector) over stdio and try:

- List resources and read `effect-docs://effect`
- Call tool `effect-doc-links` with `{ "libraries": ["effect", "@effect/platform"] }`

Initialization instructions

- The server publishes short usage instructions via MCP initialize for clients that display them.

## Development

```bash
# Install dependencies
pnpm install

# Build the project
pnpm build

# Run in development mode with auto-reload
pnpm dev
```

Notes:

- Built with `@modelcontextprotocol/sdk@^1.17.4` using the modern `registerResource`/`registerTool` APIs.
- Transport: stdio by default; can be adapted to Streamable HTTP if needed.

## License

MIT
npm package: @niklasgrahl/js-mv
Description: Move and update all relative imports to/from .js file(s)
Author: Niklas Grahl
Latest version: 0.1.1

# js-mv

> Move .js file(s) and update all relative imports to/from that file(s) from the command line

For example, `js-mv a.js b.js`

## Install

```
$ npm install -g @niklasgrahl/js-mv
```

## Usage

```
// Show help
js-mv

// Rename A.js to B.js (updates all relative imports in your project from A.js to B.js)
js-mv A.js B.js

// Rename src/A.js to src/B.js using bash brace expansion (if you are using bash)
js-mv src/{A,B}.js

// Rename all .test.js files to .spec.js
// <from> get's passed into `new Regexp(from)` and you can reference the capture groups in [to] with $1, $2 etc.
js-mv --regex '(.*).test.js' '$1.spec.js'

// Not specifying a second argument opens your default editor (try it out, it's pretty neat!)
js-mv --regex 'src/(.*).js'

// Group redux files by feature instead of by type
js-mv --regex '(reducers|actions)/([^/]\*).js' '$2/$1.js'
```

After running the command, all relative imports in your project should have been updated

## Caveats

- Only updates `.js` files
- Only tested with ES modules (`import`/`export`) and I'm not sure how well (if at all) it will work for CommonJS (`require`) modules

## About

Provides a CLI on top of [jscodeshift](https://github.com/facebook/jscodeshift) and [refactoring-codemods](https://github.com/jurassix/refactoring-codemods).

`js-mv` does the following for each file specified in [from]:

- Move the file (unless `--no-move` was provided)
- Traverses up the directory tree to the closest package.json
- Finds all .js files in that directory (excluding .gitignored files)
- Uses [import-declaration-transform](https://github.com/jurassix/refactoring-codemods#import-declaration-transform) and [import-relative-transform](https://github.com/jurassix/refactoring-codemods#import-relative-transform) codemods to update the imports to/from that file(s) in all .js files found in the previous step

## Todo

- [ ] Allow for other file extensions than `.js`
- [ ] Detect if file needs to be moved or not
- [ ] Detect what files have been moved based on git diff. This would allow you to move the files with whatever tool you want and `js-mv` would just update the imports for you
- [ ] Allow renaming import specifier (variable name) using [import-specifier-transform](https://github.com/jurassix/refactoring-codemods#import-specifier-transform)
- [ ] Make it a lot faster by combining the codemods into one that can rename multiple files at the same time
- [ ] Better documentation

## Related

- [jscodeshift](https://github.com/facebook/jscodeshift)
- [refactoring-codemods](https://github.com/jurassix/refactoring-codemods)