diff --git a/extensions/capmo/CHANGELOG.md b/extensions/capmo/CHANGELOG.md
index 010e85f3156..a773b064dc4 100644
--- a/extensions/capmo/CHANGELOG.md
+++ b/extensions/capmo/CHANGELOG.md
@@ -1,3 +1,3 @@
# Capmo Changelog
-## [Initial Version] - {PR_MERGE_DATE}
\ No newline at end of file
+## [Initial Version] - {PR_MERGE_DATE}
diff --git a/extensions/capmo/README.md b/extensions/capmo/README.md
index 75b5271044a..17bf2714860 100644
--- a/extensions/capmo/README.md
+++ b/extensions/capmo/README.md
@@ -7,7 +7,7 @@
Capmo
Easily manage and interact with projects and tickets from Capmo directly in Raycast. List tickets, update their status, filter projects, and more – all with quick keystrokes.
-
+
-![Screenshot of the "List Projects" command](./metadata/screenshot_3.png)
-![Screenshot of the "List Tickets" command](./metadata/screenshot_1.png)
-![Actions in the "List Tickets" command](./metadata/screenshot_2.png)
+![Screenshot of the "List Projects" command](screenshots/screenshot_3.png)
+![Screenshot of the "List Tickets" command](screenshots/screenshot_1.png)
+![Actions in the "List Tickets" command](screenshots/screenshot_2.png)
+
+This extension offers the following functionalities:
Commands
@@ -59,16 +61,17 @@ Actions
When starting the extension for the first time it will ask you for two IDs: The **Capmo API TOken** and the **Excluded projects**.
1. Retriving Capmo API Token
+
- Please open [Accountmanagement](https://app.capmo.de/account/general)
- Create an API Key in the Api-Key Settings
- Copy the Secret Value and store it somewhere safe
2. Excluding Projects
+
- If you want to exclude projects from the Application to make it faster, you can do so by including them in the settings
- Retrive the project ID by opening a project in Campo and Copy the Project ID from the Url
- Example: https://app.capmo.de/projects/**cdced67e-1cce-11ef-bc14-fb2698a5c2b6**/tickets
- Copy the Value in the settings. Example: Project 1,Project 2
- Copy the Secret Value and store it somewhere safe
-
Happy ticket management! 🎉
diff --git a/extensions/capmo/package-lock.json b/extensions/capmo/package-lock.json
index 0ca97d5f041..71842894088 100644
--- a/extensions/capmo/package-lock.json
+++ b/extensions/capmo/package-lock.json
@@ -10,6 +10,7 @@
"license": "MIT",
"dependencies": {
"@raycast/api": "^1.88.4",
+ "@raycast/utils": "^1.18.1",
"axios": "^1.7.9"
},
"devDependencies": {
@@ -581,6 +582,23 @@
}
}
},
+ "node_modules/@raycast/utils": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/@raycast/utils/-/utils-1.18.1.tgz",
+ "integrity": "sha512-fNrybWovB5WSiotqrExMNVWtODH5DATFMvqJboIjwM2X8Ddvgt7tkf2Ol0vA0UBDVaGwDV+jpX/ZBhMnjz5TzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-fetch": "^3.1.6",
+ "dequal": "^2.0.3",
+ "object-hash": "^3.0.0",
+ "signal-exit": "^4.0.2",
+ "stream-chain": "^2.2.5",
+ "stream-json": "^1.8.0"
+ },
+ "peerDependencies": {
+ "@raycast/api": ">=1.69.0"
+ }
+ },
"node_modules/@types/axios": {
"version": "0.9.36",
"resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.9.36.tgz",
@@ -1083,6 +1101,15 @@
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"license": "MIT"
},
+ "node_modules/cross-fetch": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
+ "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.7.0"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -1137,6 +1164,15 @@
"node": ">=0.4.0"
}
},
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -2142,6 +2178,35 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2478,6 +2543,21 @@
"node": ">=8"
}
},
+ "node_modules/stream-chain": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz",
+ "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/stream-json": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.9.1.tgz",
+ "integrity": "sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "stream-chain": "^2.2.5"
+ }
+ },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -2563,6 +2643,12 @@
"node": ">=8.0"
}
},
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "license": "MIT"
+ },
"node_modules/ts-api-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz",
@@ -2631,6 +2717,22 @@
"punycode": "^2.1.0"
}
},
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/extensions/capmo/package.json b/extensions/capmo/package.json
index 90d476b9e57..1fcd7add699 100644
--- a/extensions/capmo/package.json
+++ b/extensions/capmo/package.json
@@ -45,6 +45,7 @@
],
"dependencies": {
"@raycast/api": "^1.88.4",
+ "@raycast/utils": "^1.18.1",
"axios": "^1.7.9"
},
"devDependencies": {
diff --git a/extensions/capmo/raycast-env.d.ts b/extensions/capmo/raycast-env.d.ts
new file mode 100644
index 00000000000..edbbccc2b9f
--- /dev/null
+++ b/extensions/capmo/raycast-env.d.ts
@@ -0,0 +1,32 @@
+///
+
+/* 🚧 🚧 🚧
+ * This file is auto-generated from the extension's manifest.
+ * Do not modify manually. Instead, update the `package.json` file.
+ * 🚧 🚧 🚧 */
+
+/* eslint-disable @typescript-eslint/ban-types */
+
+type ExtensionPreferences = {
+ /** Capmo API Token - Your Capmo API Token */
+ capmoApiToken: string;
+ /** Excluded Projects - Comma-separated list of project IDs to exclude */
+ excludedProjects?: string;
+};
+
+/** Preferences accessible in all the extension's commands */
+declare type Preferences = ExtensionPreferences;
+
+declare namespace Preferences {
+ /** Preferences accessible in the `list-tickets` command */
+ export type ListTickets = ExtensionPreferences & {};
+ /** Preferences accessible in the `list-projects` command */
+ export type ListProjects = ExtensionPreferences & {};
+}
+
+declare namespace Arguments {
+ /** Arguments passed to the `list-tickets` command */
+ export type ListTickets = {};
+ /** Arguments passed to the `list-projects` command */
+ export type ListProjects = {};
+}
diff --git a/extensions/capmo/tsconfig.json b/extensions/capmo/tsconfig.json
index 6e6d2838d6a..5cea16bd0fd 100644
--- a/extensions/capmo/tsconfig.json
+++ b/extensions/capmo/tsconfig.json
@@ -2,15 +2,15 @@
"$schema": "https://json.schemastore.org/tsconfig",
"include": ["src/**/*", "raycast-env.d.ts"], // Ensure it covers all your source files and the Raycast environment typings
"compilerOptions": {
- "lib": ["ES2023", "DOM"], // Include DOM for browser-related APIs
- "module": "commonjs", // CommonJS for compatibility with Node.js
- "target": "ES2022", // Modern target
- "strict": true, // Enable strict type checking
- "isolatedModules": true, // Required for React's JSX transformations
- "esModuleInterop": true, // Enable interop between CommonJS and ESModules
- "skipLibCheck": true, // Skip type checking of declaration files
+ "lib": ["ES2023", "DOM"], // Include DOM for browser-related APIs
+ "module": "commonjs", // CommonJS for compatibility with Node.js
+ "target": "ES2022", // Modern target
+ "strict": true, // Enable strict type checking
+ "isolatedModules": true, // Required for React's JSX transformations
+ "esModuleInterop": true, // Enable interop between CommonJS and ESModules
+ "skipLibCheck": true, // Skip type checking of declaration files
"forceConsistentCasingInFileNames": true, // Enforce consistent casing in imports
- "jsx": "react-jsx", // Enable the new JSX transform
- "resolveJsonModule": true // Allow importing JSON files as modules
+ "jsx": "react-jsx", // Enable the new JSX transform
+ "resolveJsonModule": true // Allow importing JSON files as modules
}
}