Skip to content

Commit 47155f1

Browse files
committed
docs: restore LICENSE and CHANGELOG, update READMEs with badges and correct URLs
1 parent e8fe603 commit 47155f1

4 files changed

Lines changed: 119 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Change Log
2+
3+
All notable changes to the "airtable-formula" extension will be documented in this file.
4+
5+
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
6+
7+
## [2.0.11] - 2026-04-11
8+
9+
### Added
10+
- **Dual-channel publishing** — MCP server now available as standalone `airtable-user-mcp` npm package
11+
- **CLI subcommands**`npx airtable-user-mcp login`, `logout`, `status`, `doctor`, `install-browser`
12+
- **Dashboard version card** — Shows extension + bundled MCP server versions with update-available hints
13+
- **Build-time version manifest** — Fixes hardcoded `v2.0.0` MCP version bug in dashboard
14+
- **GitHub Actions CI/CD** — Publish workflows for npm, VS Code Marketplace, and Open VSX
15+
16+
### Changed
17+
- **Package rename** — MCP server renamed from `mcp-internal-airtable` to `airtable-user-mcp`
18+
- **Lazy-load patchright** — Dynamic imports for browser deps (smaller install, no crash without browser)
19+
- **Command renames**`checkSession``status`, `downloadBrowser``install-browser`
20+
21+
## [0.2.0] - 2026-01-24
22+
23+
### Added
24+
- **Context menu submenus** for beautify styles and minify levels
25+
- **Batch style/level commands** for explorer selections
26+
27+
### Changed
28+
- **Explorer file operations** now use file-based formatting for better stability
29+
- **Minify in-place** when running on `.min.formula` or `.ultra-min.formula`
30+
31+
### Fixed
32+
- **Beautifier v2 JSON performance** improvements to prevent extension host freezes
33+
- **Vendor script resolution** consistency across style/level commands
34+
35+
## [0.1.0] - 2025-09-28
36+
37+
### Added
38+
- **Airtable-Matching Color Scheme**: Exact syntax highlighting colors matching Airtable's interface
39+
- **Intelligent Diagnostics**: Real-time error detection for unclosed parentheses, brackets, quotes
40+
- **IntelliSense Support**: Auto-completion for all Airtable functions with parameter hints
41+
- **Version Selection**: Choose between v1 (stable) and v2 (enhanced) for beautifier and minifier
42+
- **New Formatting Styles**: `smart` style (v2) and `safe` minification level (v2)
43+
- **Extended File Support**: `.min.formula` and `.ultra-min.formula` extensions
44+
- **Enhanced Error Reporting**: Better parenthesis mismatch detection with linked errors
45+
46+
### Changed
47+
- Default to v2 versions for both beautifier and minifier (with v1 fallback)
48+
- Improved diagnostics to not flag `{}` as errors (used in JSON string building)
49+
50+
### Fixed
51+
- Syntax highlighting for minified files
52+
- False positive errors for empty field references `{}`
53+
- Better handling of long single-line formulas in minified files
54+
55+
## [0.0.2] - 2025-09-24
56+
57+
### Added
58+
- Initial release of Airtable Formula VS Code extension
59+
- **Beautify functionality**: Format Airtable formulas with proper indentation and line breaks
60+
- **Minify functionality**: Compress formulas to reduce size while maintaining functionality
61+
- **Syntax highlighting**: Full support for `.formula` files with custom language definition
62+
- **Multiple formatting styles**: Ultra-compact, compact, readable, JSON, and cascade styles
63+
- **Customizable settings**: Configure indentation, line length, quote style, and minification levels
64+
- **Context menu integration**: Right-click options for beautify/minify in formula files
65+
- **File operations**: Batch beautify/minify operations on multiple files

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Nskha
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
# Airtable Formula
22

3+
<p align="center">
4+
<a href="https://marketplace.visualstudio.com/items?itemName=Nskha.airtable-formula"><img src="https://img.shields.io/visual-studio-marketplace/v/Nskha.airtable-formula" alt="VS Code Marketplace" /></a>
5+
<a href="https://www.npmjs.com/package/airtable-user-mcp"><img src="https://img.shields.io/npm/v/airtable-user-mcp" alt="npm version" /></a>
6+
<a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License" /></a>
7+
</p>
8+
39
Airtable formula editor, MCP server installer, and AI skills for VS Code.
410

11+
> **Not affiliated with Airtable Inc.** This is a community-maintained project.
12+
513
## Features
614

715
- **Formula Editor** — Syntax highlighting, IntelliSense, beautify/minify for `.formula` files
@@ -10,6 +18,16 @@ Airtable formula editor, MCP server installer, and AI skills for VS Code.
1018
- **Airtable Login** — Credentials in OS keychain, headless session with auto-refresh
1119
- **Dashboard** — React webview with Overview, Setup, and Settings tabs
1220

21+
## Standalone MCP Server
22+
23+
The MCP server is also available as a standalone npm package for use outside VS Code:
24+
25+
```bash
26+
npx airtable-user-mcp
27+
```
28+
29+
See [`packages/mcp-server/README.md`](packages/mcp-server/README.md) for full documentation, tool list, and configuration examples.
30+
1331
## Requirements
1432

1533
- **VS Code** ^1.100.0 (or any fork exposing the `McpServerDefinitionProvider` API)
@@ -31,7 +49,7 @@ This is a pnpm monorepo.
3149
- `packages/extension` — VS Code extension host (TypeScript + tsup)
3250
- `packages/webview` — React dashboard webview (Vite + Tailwind v4)
3351
- `packages/shared` — Shared types and message protocol
34-
- `packages/mcp-server` — Airtable MCP server (`airtable-user-mcp`, ESM Node app with Patchright browser auth)
52+
- `packages/mcp-server` — Airtable MCP server ([`airtable-user-mcp`](https://www.npmjs.com/package/airtable-user-mcp), ESM Node app with Patchright browser auth)
3553

3654
**Commands:**
3755
```bash
@@ -43,3 +61,7 @@ pnpm dev # start webview dev server (browser preview)
4361
```
4462

4563
**MCP server:** The `airtable-user-mcp` workspace package (at `packages/mcp-server/`) is resolved via `workspace:*` and bundled into `packages/extension/dist/mcp/` by `scripts/bundle-mcp.mjs` during the build step. Native browser-automation deps (`patchright`, `patchright-core`, `otpauth`) are vendored into `dist/node_modules/` by `scripts/prepare-package-deps.mjs` before `vsce package` runs.
64+
65+
## License
66+
67+
[MIT](LICENSE)

packages/mcp-server/README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Airtable User MCP
22

33
<p align="center">
4-
<img src="https://raw.githubusercontent.com/Automations-Project/airtable-user-mcp/main/assets/icon.png" alt="Airtable User MCP" width="128" />
4+
<img src="https://raw.githubusercontent.com/Automations-Project/VSCode-Airtable-Formula/main/packages/mcp-server/assets/icon.png" alt="Airtable User MCP" width="128" />
55
</p>
66

77
<p align="center">
@@ -11,7 +11,7 @@
1111
<p align="center">
1212
<a href="https://www.npmjs.com/package/airtable-user-mcp"><img src="https://img.shields.io/npm/v/airtable-user-mcp" alt="npm version" /></a>
1313
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-2.0-blue" alt="MCP 2.0" /></a>
14-
<a href="https://github.com/Automations-Project/airtable-user-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License" /></a>
14+
<a href="https://github.com/Automations-Project/VSCode-Airtable-Formula/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License" /></a>
1515
</p>
1616

1717
---
@@ -106,7 +106,7 @@ Add to your MCP client configuration (e.g., `mcp.json`, `claude_desktop_config.j
106106
}
107107
```
108108

109-
### Via npx (once published to npm)
109+
### Via npx
110110

111111
```json
112112
{
@@ -123,9 +123,13 @@ Add to your MCP client configuration (e.g., `mcp.json`, `claude_desktop_config.j
123123

124124
The server uses browser-based authentication with Airtable. On first use:
125125

126-
1. Run `npm run login` to open a browser and authenticate with Airtable
127-
2. Cookies are cached locally for subsequent sessions
128-
3. Set `AIRTABLE_HEADLESS_ONLY=1` for environments without a browser (uses cached cookies only)
126+
1. Install the browser engine: `npx airtable-user-mcp install-browser`
127+
2. Log in: `npx airtable-user-mcp login`
128+
3. Cookies are cached in `~/.airtable-user-mcp/` for subsequent sessions
129+
4. Check session status: `npx airtable-user-mcp status`
130+
5. Set `AIRTABLE_NO_BROWSER=1` for environments without a display (uses cached cookies only)
131+
132+
> **Not affiliated with Airtable Inc.** This is a community-maintained project.
129133
130134
## Usage Examples
131135

0 commit comments

Comments
 (0)