@rashidazarang/airtable-mcp 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/package.json +10 -1
  2. package/.github/ISSUE_TEMPLATE/bug-report.yml +0 -173
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  4. package/.github/ISSUE_TEMPLATE/custom.md +0 -10
  5. package/.github/ISSUE_TEMPLATE/feature-request.yml +0 -209
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  7. package/.github/ISSUE_TEMPLATE/security-report.yml +0 -216
  8. package/.github/pull_request_template.md +0 -245
  9. package/.github/workflows/ci-cd.yml +0 -408
  10. package/.github/workflows/security-audit.yml +0 -316
  11. package/API_DOCUMENTATION.md +0 -897
  12. package/CAPABILITY_REPORT.md +0 -118
  13. package/CLAUDE_INTEGRATION.md +0 -96
  14. package/CODE_OF_CONDUCT.md +0 -181
  15. package/CONTRIBUTING.md +0 -81
  16. package/DEVELOPMENT.md +0 -190
  17. package/Dockerfile +0 -39
  18. package/Dockerfile.node +0 -20
  19. package/Dockerfile.production +0 -127
  20. package/IMPROVEMENT_PROPOSAL.md +0 -371
  21. package/INSTALLATION.md +0 -183
  22. package/ISSUE_RESPONSES.md +0 -171
  23. package/MCP_REVIEW_SUMMARY.md +0 -142
  24. package/QUICK_START.md +0 -60
  25. package/RELEASE_NOTES_v1.2.0.md +0 -50
  26. package/RELEASE_NOTES_v1.2.1.md +0 -40
  27. package/RELEASE_NOTES_v1.2.2.md +0 -48
  28. package/RELEASE_NOTES_v1.2.3.md +0 -105
  29. package/RELEASE_NOTES_v1.2.4.md +0 -60
  30. package/RELEASE_NOTES_v1.4.0.md +0 -104
  31. package/RELEASE_NOTES_v1.5.0.md +0 -185
  32. package/RELEASE_NOTES_v1.6.0.md +0 -248
  33. package/SECURITY_NOTICE.md +0 -40
  34. package/airtable-clipper/CHANGELOG.md +0 -198
  35. package/airtable-clipper/CHROME_STORE_SUBMISSION.md +0 -343
  36. package/airtable-clipper/LAUNCH_STRATEGY.md +0 -495
  37. package/airtable-clipper/LICENSE +0 -21
  38. package/airtable-clipper/OAUTH_SETUP.md +0 -51
  39. package/airtable-clipper/PRIVACY_POLICY.md +0 -187
  40. package/airtable-clipper/README.md +0 -575
  41. package/airtable-clipper/SUBMIT_TO_CHROME_STORE.md +0 -273
  42. package/airtable-clipper/build.sh +0 -85
  43. package/airtable-clipper/docs/QUICK_START.md +0 -99
  44. package/airtable-clipper/docs/SETUP.md +0 -291
  45. package/airtable-clipper/extension/background.js +0 -337
  46. package/airtable-clipper/extension/base-setup.html +0 -324
  47. package/airtable-clipper/extension/base-setup.js +0 -471
  48. package/airtable-clipper/extension/content.js +0 -771
  49. package/airtable-clipper/extension/icons/README.md +0 -69
  50. package/airtable-clipper/extension/icons/icon-16.png +0 -3
  51. package/airtable-clipper/extension/manifest.json +0 -73
  52. package/airtable-clipper/extension/popup.html +0 -144
  53. package/airtable-clipper/extension/popup.js +0 -475
  54. package/airtable-clipper/extension/styles/content.css +0 -229
  55. package/airtable-clipper/extension/styles/popup.css +0 -477
  56. package/airtable-clipper/privacy-policy.md +0 -63
  57. package/airtable-clipper/releases/v1.0.0/background.js +0 -337
  58. package/airtable-clipper/releases/v1.0.0/base-setup.html +0 -324
  59. package/airtable-clipper/releases/v1.0.0/base-setup.js +0 -471
  60. package/airtable-clipper/releases/v1.0.0/content.js +0 -771
  61. package/airtable-clipper/releases/v1.0.0/icons/README.md +0 -69
  62. package/airtable-clipper/releases/v1.0.0/icons/icon-128.png +0 -2
  63. package/airtable-clipper/releases/v1.0.0/icons/icon-16.png +0 -3
  64. package/airtable-clipper/releases/v1.0.0/icons/icon-32.png +0 -2
  65. package/airtable-clipper/releases/v1.0.0/icons/icon-48.png +0 -2
  66. package/airtable-clipper/releases/v1.0.0/manifest.json +0 -73
  67. package/airtable-clipper/releases/v1.0.0/popup.html +0 -144
  68. package/airtable-clipper/releases/v1.0.0/popup.js +0 -475
  69. package/airtable-clipper/releases/v1.0.0/sidepanel.html +0 -25
  70. package/airtable-clipper/releases/v1.0.0/styles/content.css +0 -229
  71. package/airtable-clipper/releases/v1.0.0/styles/popup.css +0 -477
  72. package/airtable-clipper/releases/v1.0.1/background.js +0 -337
  73. package/airtable-clipper/releases/v1.0.1/base-setup.html +0 -324
  74. package/airtable-clipper/releases/v1.0.1/base-setup.js +0 -471
  75. package/airtable-clipper/releases/v1.0.1/content.js +0 -771
  76. package/airtable-clipper/releases/v1.0.1/icons/README.md +0 -69
  77. package/airtable-clipper/releases/v1.0.1/icons/icon-128.png +0 -2
  78. package/airtable-clipper/releases/v1.0.1/icons/icon-16.png +0 -3
  79. package/airtable-clipper/releases/v1.0.1/icons/icon-32.png +0 -2
  80. package/airtable-clipper/releases/v1.0.1/icons/icon-48.png +0 -2
  81. package/airtable-clipper/releases/v1.0.1/manifest.json +0 -70
  82. package/airtable-clipper/releases/v1.0.1/popup.html +0 -157
  83. package/airtable-clipper/releases/v1.0.1/popup.js +0 -562
  84. package/airtable-clipper/releases/v1.0.1/sidepanel.html +0 -25
  85. package/airtable-clipper/releases/v1.0.1/styles/content.css +0 -229
  86. package/airtable-clipper/releases/v1.0.1/styles/popup.css +0 -647
  87. package/airtable-clipper/releases/v1.0.2/background.js +0 -337
  88. package/airtable-clipper/releases/v1.0.2/base-setup.html +0 -324
  89. package/airtable-clipper/releases/v1.0.2/base-setup.js +0 -471
  90. package/airtable-clipper/releases/v1.0.2/content.js +0 -771
  91. package/airtable-clipper/releases/v1.0.2/icons/README.md +0 -69
  92. package/airtable-clipper/releases/v1.0.2/icons/icon-128.png +0 -2
  93. package/airtable-clipper/releases/v1.0.2/icons/icon-16.png +0 -3
  94. package/airtable-clipper/releases/v1.0.2/icons/icon-32.png +0 -2
  95. package/airtable-clipper/releases/v1.0.2/icons/icon-48.png +0 -2
  96. package/airtable-clipper/releases/v1.0.2/manifest.json +0 -62
  97. package/airtable-clipper/releases/v1.0.2/popup.html +0 -157
  98. package/airtable-clipper/releases/v1.0.2/popup.js +0 -567
  99. package/airtable-clipper/releases/v1.0.2/sidepanel.html +0 -25
  100. package/airtable-clipper/releases/v1.0.2/styles/content.css +0 -229
  101. package/airtable-clipper/releases/v1.0.2/styles/popup.css +0 -647
  102. package/airtable-clipper/terms-of-service.md +0 -124
  103. package/airtable-clipper/test-credentials.md +0 -61
  104. package/airtable-clipper/test-extension/background.js +0 -337
  105. package/airtable-clipper/test-extension/base-setup.html +0 -324
  106. package/airtable-clipper/test-extension/base-setup.js +0 -471
  107. package/airtable-clipper/test-extension/content.js +0 -873
  108. package/airtable-clipper/test-extension/icons/README.md +0 -69
  109. package/airtable-clipper/test-extension/icons/icon-128.png +0 -2
  110. package/airtable-clipper/test-extension/icons/icon-16.png +0 -3
  111. package/airtable-clipper/test-extension/icons/icon-32.png +0 -2
  112. package/airtable-clipper/test-extension/icons/icon-48.png +0 -2
  113. package/airtable-clipper/test-extension/manifest.json +0 -72
  114. package/airtable-clipper/test-extension/popup.html +0 -274
  115. package/airtable-clipper/test-extension/popup.js +0 -729
  116. package/airtable-clipper/test-extension/sidepanel.html +0 -25
  117. package/airtable-clipper/test-extension/styles/content.css +0 -229
  118. package/airtable-clipper/test-extension/styles/popup.css +0 -794
  119. package/airtable_mcp/__init__.py +0 -5
  120. package/airtable_mcp/src/server.py +0 -329
  121. package/airtable_mcp_v2.js +0 -1505
  122. package/airtable_mcp_v2_oauth.js +0 -1048
  123. package/airtable_mcp_v3_advanced.js +0 -1161
  124. package/cleanup.sh +0 -71
  125. package/docker-compose.production.yml +0 -366
  126. package/helm/airtable-mcp/Chart.yaml +0 -122
  127. package/helm/airtable-mcp/values.yaml +0 -538
  128. package/index.js +0 -179
  129. package/inspector.py +0 -148
  130. package/inspector_server.py +0 -337
  131. package/k8s/deployment.yaml +0 -402
  132. package/k8s/namespace.yaml +0 -108
  133. package/k8s/service.yaml +0 -194
  134. package/monitoring/alerts.yml +0 -289
  135. package/monitoring/prometheus.yml +0 -224
  136. package/publish-steps.txt +0 -27
  137. package/quick_test.sh +0 -30
  138. package/requirements.txt +0 -10
  139. package/setup.py +0 -29
  140. package/simple_airtable_server.py +0 -151
  141. package/smithery.yaml +0 -45
  142. package/test_all_features.sh +0 -146
  143. package/test_all_operations.sh +0 -120
  144. package/test_client.py +0 -70
  145. package/test_enhanced_features.js +0 -389
  146. package/test_mcp_comprehensive.js +0 -163
  147. package/test_mock_server.js +0 -180
  148. package/test_v1.4.0_final.sh +0 -131
  149. package/test_v1.5.0_comprehensive.sh +0 -96
  150. package/test_v1.5.0_final.sh +0 -224
  151. package/test_v1.6.0_comprehensive.sh +0 -187
  152. package/test_webhooks.sh +0 -105
@@ -1,273 +0,0 @@
1
- # 🏪 Submit Airtable Clipper to Chrome Web Store
2
-
3
- **Ready-to-submit package created!** 🎉
4
-
5
- ## 📦 Package Details
6
-
7
- - **File**: `releases/v1.0.0/airtable-clipper-v1.0.0.zip` (48K)
8
- - **Version**: 1.0.0
9
- - **Manifest**: V3 compliant ✅
10
- - **Icons**: Placeholder icons included (⚠️ replace with actual icons before final submission)
11
-
12
- ## 🚀 Step-by-Step Submission Process
13
-
14
- ### 1. Access Chrome Web Store Developer Console
15
-
16
- 1. **Go to**: [Chrome Web Store Developer Console](https://chrome.google.com/webstore/devconsole)
17
- 2. **Sign in** with your Google account (the one that paid the $5 fee)
18
- 3. **Click**: "Add new item" or "New Item"
19
-
20
- ### 2. Upload Extension Package
21
-
22
- 1. **Click**: "Choose file" or drag and drop
23
- 2. **Select**: `releases/v1.0.0/airtable-clipper-v1.0.0.zip`
24
- 3. **Upload** and wait for processing
25
- 4. **Verify** no errors in the upload process
26
-
27
- ### 3. Fill Out Store Listing
28
-
29
- #### **Basic Information**
30
-
31
- **Product Name** (45 characters max):
32
- ```
33
- Airtable Clipper - Save Web to Database
34
- ```
35
-
36
- **Summary** (132 characters max):
37
- ```
38
- Save LinkedIn profiles & web content to Airtable with one click. Smart extraction, bulk operations, CRM automation.
39
- ```
40
-
41
- **Description** (16,000 characters max):
42
- ```
43
- 🚀 Turn Any Website Into Structured Airtable Data
44
-
45
- Airtable Clipper is the ultimate Chrome extension for sales teams, recruiters, and researchers who want to automate their data collection workflow. Save LinkedIn profiles, articles, and web content directly to your Airtable base with intelligent extraction and one-click simplicity.
46
-
47
- ⭐ Why Choose Airtable Clipper?
48
-
49
- ✅ Smart LinkedIn Integration: Extract complete profiles with name, title, company, experience, and education
50
- ✅ Universal Web Scraping: Works on any website - GitHub, Stack Overflow, Medium, news sites, and more
51
- ✅ One-Click Database Setup: Automatically creates optimized Airtable bases with perfect field structures
52
- ✅ Bulk Operations: Save multiple profiles or articles at once with intelligent deduplication
53
- ✅ Data Enrichment: Auto-generates email guesses, lead scores, and relevant tags
54
- ✅ Privacy Focused: All processing happens locally - no external servers or tracking
55
-
56
- 🎯 Perfect For:
57
-
58
- 📊 Sales Teams: Build your CRM by saving LinkedIn profiles with enriched contact data
59
- 👥 Recruiters: Collect candidate profiles and track them through your hiring pipeline
60
- 📚 Researchers: Gather articles, papers, and web content for analysis and reference
61
- 🎨 Content Creators: Save inspiration and references from around the web
62
-
63
- 🚀 Key Features:
64
-
65
- 🧠 Smart Data Extraction
66
- • LinkedIn profiles with complete work history
67
- • Article content with author and publication date
68
- • GitHub repositories with stars, language, and description
69
- • Stack Overflow questions with tags and scores
70
- • Automatic field mapping to your Airtable schema
71
-
72
- ⚡ Lightning Fast Operations
73
- • Save profiles in under 3 seconds
74
- • Bulk save up to 50 items at once
75
- • Floating action button for instant access
76
- • Keyboard shortcuts for power users
77
-
78
- 🔗 Seamless Airtable Integration
79
- • Direct REST API connection (no middleware)
80
- • Works with free and paid Airtable accounts
81
- • Automatic table and field creation suggestions
82
- • Real-time data validation and quality scoring
83
-
84
- 🛡️ Privacy & Security
85
- • Local data processing only
86
- • LinkedIn ToS compliant (public data only)
87
- • No external servers or data collection
88
- • Secure token storage with Chrome sync
89
- • Rate limiting to respect website limits
90
-
91
- 📱 Modern Chrome Extension
92
- • Manifest V3 compliant for latest Chrome versions
93
- • Beautiful, responsive popup interface
94
- • Context menu integration
95
- • Side panel dashboard for bulk operations
96
- • Dark mode support
97
-
98
- 🎬 How It Works:
99
-
100
- 1️⃣ Install & Setup (2 minutes)
101
- • Install extension from Chrome Web Store
102
- • Use our one-click database wizard to create optimized Airtable base
103
- • Connect with your Airtable Personal Access Token
104
-
105
- 2️⃣ Start Saving (10 seconds)
106
- • Visit any LinkedIn profile or webpage
107
- • Click the extension icon or floating button
108
- • Data is automatically extracted and saved to Airtable
109
-
110
- 3️⃣ Bulk Operations (Advanced)
111
- • Enable bulk mode on search results pages
112
- • Select multiple profiles or articles
113
- • Save everything at once with deduplication
114
-
115
- 📊 Proven Results:
116
- • Save 10+ hours per week on manual data entry
117
- • Build CRM databases 10x faster than manual methods
118
- • 95%+ extraction success rate on supported websites
119
- • Used by sales teams and recruiters worldwide
120
-
121
- 🔧 Advanced Features:
122
- • Custom field mapping for existing Airtable bases
123
- • Duplicate detection with fuzzy matching
124
- • Automated follow-up task creation
125
- • Export capabilities for other CRM systems
126
- • Team collaboration with shared bases
127
-
128
- 📞 Support & Documentation:
129
- • Comprehensive setup guides and tutorials
130
- • GitHub repository with full source code
131
- • Active community support and feature requests
132
- • Regular updates with new website support
133
-
134
- 🌟 Get Started Today:
135
- Install Airtable Clipper and transform your web browsing into structured data collection. Perfect for sales prospecting, recruitment, research, and content curation.
136
-
137
- No monthly fees, no data limits, no vendor lock-in - just pure productivity.
138
-
139
- 🔗 GitHub: https://github.com/rashidazarang/airtable-clipper
140
- 📖 Setup Guide: Complete documentation included
141
- 🆘 Support: GitHub Issues and Discussions
142
- ```
143
-
144
- #### **Category & Language**
145
- - **Category**: Productivity
146
- - **Language**: English
147
-
148
- #### **Privacy**
149
- - **Single Purpose**: ✅ The extension has a single purpose
150
- - **Permission Justification**: ✅ Permissions are justified and necessary
151
- - **Remote Code**: ✅ Does not execute remote code
152
- - **Collects Data**: ❌ Does not collect user data
153
-
154
- ### 4. Add Privacy Policy
155
-
156
- **Privacy Policy URL**: `https://github.com/rashidazarang/airtable-clipper/blob/main/PRIVACY_POLICY.md`
157
-
158
- ### 5. Screenshots & Graphics
159
-
160
- #### **Required Screenshots** (1280x800 or 640x400)
161
-
162
- ⚠️ **You'll need to create these screenshots:**
163
-
164
- 1. **Extension Popup** - Main interface showing connection form
165
- 2. **LinkedIn Profile Save** - Extension saving a LinkedIn profile
166
- 3. **Database Setup Wizard** - One-click base creation interface
167
- 4. **Bulk Operations** - Multiple items selected on a page
168
- 5. **Settings Panel** - Extension configuration options
169
-
170
- #### **Optional Promotional Images**
171
- - **Small Promo Tile**: 440x280
172
- - **Large Promo Tile**: 920x680
173
- - **Marquee**: 1400x560
174
-
175
- ### 6. Pricing & Distribution
176
-
177
- - **Pricing**: Free
178
- - **Visibility**: Public
179
- - **Region**: All regions where Chrome Web Store is available
180
-
181
- ### 7. Final Review Checklist
182
-
183
- Before submitting:
184
-
185
- - [ ] **Icons**: Replace placeholder icons with actual PNG icons (16x16, 32x32, 48x48, 128x128)
186
- - [ ] **Screenshots**: Add 3-5 high-quality screenshots showing the extension in action
187
- - [ ] **Description**: Review and polish the store listing description
188
- - [ ] **Privacy Policy**: Ensure privacy policy URL is accessible
189
- - [ ] **Permissions**: Verify all permissions are justified
190
- - [ ] **Testing**: Test the extension thoroughly in a clean Chrome profile
191
-
192
- ## ⚠️ Before Final Submission
193
-
194
- ### Critical Tasks:
195
-
196
- #### 1. Create Real Icons
197
- The current icons are text placeholders. You need actual PNG icons:
198
-
199
- ```bash
200
- # Create simple colored icons (temporary)
201
- # Better: Use a design tool like Figma/Canva to create proper icons
202
-
203
- # For quick testing, you can create solid color squares:
204
- # But replace these with professional icons before public launch
205
- ```
206
-
207
- #### 2. Take Screenshots
208
- Install the extension and capture screenshots of:
209
- - Main popup interface
210
- - LinkedIn profile being saved
211
- - Database setup wizard
212
- - Extension in action on different websites
213
-
214
- #### 3. Test Thoroughly
215
- Load the extension in Chrome and test:
216
- - LinkedIn profile extraction
217
- - General web page saving
218
- - Database setup wizard
219
- - All popup functionality
220
- - Error handling
221
-
222
- ## 🚀 After Submission
223
-
224
- ### Review Timeline
225
- - **Initial Review**: 1-3 business days
226
- - **Appeals**: 7-14 days if rejected
227
- - **Updates**: Usually within 24 hours
228
-
229
- ### Common Rejection Reasons
230
- 1. **Placeholder icons** (that's why we need real ones)
231
- 2. **Insufficient screenshots**
232
- 3. **Vague description**
233
- 4. **Missing privacy policy**
234
- 5. **Excessive permissions**
235
-
236
- ### If Approved ✅
237
- 1. **Extension goes live** immediately
238
- 2. **Share the Chrome Web Store URL**
239
- 3. **Launch your marketing campaign**
240
- 4. **Monitor reviews and feedback**
241
-
242
- ### If Rejected ❌
243
- 1. **Read the rejection reason carefully**
244
- 2. **Fix the specific issues mentioned**
245
- 3. **Update the package and resubmit**
246
- 4. **Don't argue with reviewers** - just fix and resubmit
247
-
248
- ## 📋 Quick Submission Checklist
249
-
250
- - [ ] Access Chrome Web Store Developer Console
251
- - [ ] Upload `airtable-clipper-v1.0.0.zip`
252
- - [ ] Fill store listing (name, description, category)
253
- - [ ] Add privacy policy URL
254
- - [ ] Upload screenshots (minimum 1, recommended 3-5)
255
- - [ ] Replace placeholder icons with real ones
256
- - [ ] Set pricing to Free
257
- - [ ] Set visibility to Public
258
- - [ ] Review and submit
259
- - [ ] Wait for review (1-3 days)
260
-
261
- ## 🎯 Next Steps
262
-
263
- 1. **Create proper icons** (highest priority)
264
- 2. **Take screenshots** of the extension in action
265
- 3. **Submit to Chrome Web Store**
266
- 4. **Share the submission with your network**
267
- 5. **Prepare launch marketing materials**
268
-
269
- **The extension is functionally complete and ready! Just needs the visual assets for a successful Chrome Web Store launch.** 🚀
270
-
271
- ---
272
-
273
- **Ready to submit?** The hardest part is done - you have a fully functional, well-architected Chrome extension ready for the world! 🎉
@@ -1,85 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Airtable Clipper Build Script
4
- # Creates a production-ready package for Chrome Web Store submission
5
-
6
- echo "🚀 Building Airtable Clipper for Chrome Web Store..."
7
-
8
- # Create build directory
9
- BUILD_DIR="releases/v1.0.0"
10
- rm -rf "$BUILD_DIR"
11
- mkdir -p "$BUILD_DIR"
12
-
13
- # Copy extension files
14
- echo "📦 Copying extension files..."
15
- cp -r extension/ "$BUILD_DIR/"
16
-
17
- # Clean up development files
18
- echo "🧹 Cleaning up development files..."
19
- rm -rf "$BUILD_DIR/extension/.git*"
20
- rm -rf "$BUILD_DIR/extension/node_modules"
21
- rm -rf "$BUILD_DIR/extension/*.md"
22
- rm -rf "$BUILD_DIR/extension/test*"
23
-
24
- # Validate manifest.json
25
- echo "✅ Validating manifest.json..."
26
- if ! python3 -m json.tool "$BUILD_DIR/extension/manifest.json" > /dev/null; then
27
- echo "❌ Invalid manifest.json"
28
- exit 1
29
- fi
30
-
31
- # Check for required files
32
- echo "🔍 Checking required files..."
33
- REQUIRED_FILES=(
34
- "manifest.json"
35
- "background.js"
36
- "popup.html"
37
- "popup.js"
38
- "content.js"
39
- "icons/icon-16.png"
40
- "icons/icon-32.png"
41
- "icons/icon-48.png"
42
- "icons/icon-128.png"
43
- )
44
-
45
- for file in "${REQUIRED_FILES[@]}"; do
46
- if [ ! -f "$BUILD_DIR/extension/$file" ]; then
47
- echo "❌ Missing required file: $file"
48
- exit 1
49
- fi
50
- done
51
-
52
- # Create ZIP file for Chrome Web Store
53
- echo "📦 Creating ZIP package..."
54
- cd "$BUILD_DIR"
55
- zip -r "airtable-clipper-v1.0.0.zip" extension/ -x "*.DS_Store" "*.git*"
56
-
57
- # Calculate file sizes
58
- EXTENSION_SIZE=$(du -sh extension/ | cut -f1)
59
- ZIP_SIZE=$(du -sh airtable-clipper-v1.0.0.zip | cut -f1)
60
-
61
- echo "✅ Build completed successfully!"
62
- echo ""
63
- echo "📊 Build Statistics:"
64
- echo " Extension Size: $EXTENSION_SIZE"
65
- echo " ZIP Size: $ZIP_SIZE"
66
- echo " Build Location: $BUILD_DIR/"
67
- echo ""
68
- echo "🎯 Next Steps:"
69
- echo " 1. Test the extension: chrome://extensions/ → Load unpacked → Select 'extension' folder"
70
- echo " 2. Upload ZIP to Chrome Web Store: https://chrome.google.com/webstore/devconsole"
71
- echo " 3. Add screenshots, descriptions, and privacy policy"
72
- echo " 4. Submit for review"
73
- echo ""
74
- echo "📋 Pre-submission checklist:"
75
- echo " □ Test all features thoroughly"
76
- echo " □ Check console for errors"
77
- echo " □ Verify permissions are minimal"
78
- echo " □ Prepare store listing assets (screenshots, description)"
79
- echo " □ Create privacy policy page"
80
- echo " □ Pay $5 Chrome Web Store registration fee"
81
-
82
- # Show package contents
83
- echo ""
84
- echo "📦 Package Contents:"
85
- find "$BUILD_DIR/extension" -type f -name "*.js" -o -name "*.html" -o -name "*.json" -o -name "*.css" | sort
@@ -1,99 +0,0 @@
1
- # 🚀 Quick Start Guide
2
-
3
- Get up and running with Airtable Clipper in under 5 minutes!
4
-
5
- ## Step 1: Install the Extension (30 seconds)
6
-
7
- [![Install from Chrome Web Store](https://storage.googleapis.com/chrome-gcs-uploader.appspot.com/image/WlD8wC6g8khYWPJUsQceQkhXSlv1/UV4C4ybeBTsZt43U4xis.png)](https://chrome.google.com/webstore/detail/airtable-clipper/EXTENSION_ID)
8
-
9
- Or install manually:
10
- 1. Download the [latest release](https://github.com/rashidazarang/airtable-clipper/releases)
11
- 2. Open Chrome → Extensions → Developer Mode → Load unpacked
12
- 3. Select the `extension` folder
13
-
14
- ## Step 2: Create Your Database (2 minutes)
15
-
16
- ### Option A: One-Click Setup (Recommended)
17
- 1. Click the Airtable Clipper icon (📎) in your toolbar
18
- 2. Click **"🚀 Create Optimized Database"**
19
- 3. Follow the setup wizard to create the perfect base structure
20
- 4. Copy the generated base to your Airtable account
21
-
22
- ### Option B: Manual Setup
23
- 1. Go to [airtable.com](https://airtable.com) and create a new base
24
- 2. Add these tables:
25
- - **Contacts** (for LinkedIn profiles)
26
- - **Web Clips** (for articles and content)
27
- 3. Copy your Base ID from the URL
28
-
29
- ## Step 3: Connect to Airtable (1 minute)
30
-
31
- 1. Get your **Personal Access Token**:
32
- - Visit [airtable.com/create/tokens](https://airtable.com/create/tokens)
33
- - Click "Create new token"
34
- - Name: "Airtable Clipper"
35
- - Scopes: `data.records:read`, `data.records:write`, `schema.bases:read`
36
- - Copy the token (starts with `pat`)
37
-
38
- 2. **Configure the Extension**:
39
- - Click the Airtable Clipper icon
40
- - Paste your Personal Access Token
41
- - Paste your Base ID (starts with `app`)
42
- - Click "Connect to Airtable"
43
-
44
- ## Step 4: Start Clipping! (10 seconds)
45
-
46
- ### Save a LinkedIn Profile
47
- 1. Visit any LinkedIn profile: `linkedin.com/in/username`
48
- 2. Click the Airtable Clipper icon or the floating 📎 button
49
- 3. Click "Save Profile"
50
- 4. ✅ Profile saved to your Contacts table!
51
-
52
- ### Save Web Content
53
- 1. Visit any article, blog post, or webpage
54
- 2. Right-click → "Save to Airtable"
55
- 3. ✅ Content saved to your Web Clips table!
56
-
57
- ### Bulk Save (Advanced)
58
- 1. On LinkedIn search results or any listing page
59
- 2. Hold **Shift** + click the extension icon (or `Cmd+Shift+B`)
60
- 3. Click items to select them
61
- 4. Click "Save Selected"
62
- 5. ✅ All items saved at once!
63
-
64
- ## 🎯 Pro Tips
65
-
66
- ### Keyboard Shortcuts
67
- - **Quick Save**: `Cmd+Shift+S` (Mac) or `Ctrl+Shift+S` (Windows)
68
- - **Bulk Mode**: `Cmd+Shift+B` (Mac) or `Ctrl+Shift+B` (Windows)
69
-
70
- ### Best Practices
71
- - **LinkedIn**: Save profiles while browsing to build your CRM
72
- - **Research**: Use bulk mode to save multiple articles at once
73
- - **Quality Check**: Higher lead scores mean better data quality
74
- - **Organization**: Use tags and status fields to organize your data
75
-
76
- ### Troubleshooting
77
- - **Connection Issues**: Double-check your token and base ID
78
- - **Slow Extraction**: Close other tabs to free up memory
79
- - **LinkedIn Blocks**: Use natural browsing patterns, avoid rapid clicking
80
-
81
- ## 🌟 What's Next?
82
-
83
- - **Explore Automations**: Set up Airtable automations for follow-ups
84
- - **Customize Fields**: Add custom fields to capture specific data
85
- - **Team Collaboration**: Share your base with team members
86
- - **Advanced Features**: Try our upcoming CRM integrations
87
-
88
- ## 📚 Learn More
89
-
90
- - **[Full Documentation](README.md)**: Complete guide with all features
91
- - **[Setup Guide](docs/SETUP.md)**: Detailed setup instructions
92
- - **[Use Cases](docs/EXAMPLES.md)**: Real-world workflow examples
93
- - **[Troubleshooting](README.md#troubleshooting)**: Common issues and solutions
94
-
95
- ---
96
-
97
- **Need help?** [Open an issue](https://github.com/rashidazarang/airtable-clipper/issues) or [start a discussion](https://github.com/rashidazarang/airtable-clipper/discussions)
98
-
99
- **Enjoy the extension?** [⭐ Star us on GitHub](https://github.com/rashidazarang/airtable-clipper) and [📝 leave a review](https://chrome.google.com/webstore)