Skip to content

Add rewiser extension #20023

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions extensions/rewiser/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 120,
"singleQuote": false
}
35 changes: 35 additions & 0 deletions extensions/rewiser/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Rewiser Changelog

## [Version 1.0.0] - {PR_MERGE_DATE}

### Added

- AI-powered transaction processing with natural language support
- Multi-language support for global users
- Automatic folder selection for single-folder users
- Manual folder selection for multi-folder users
- Real-time transaction validation and processing
- Support for both expense and income transactions
- Automatic payment status detection (paid vs planned)
- Multi-currency support based on folder settings
- Beautiful transaction success display with all details
- Keyboard shortcut (Cmd+F) for changing folders
- "Add Another Transaction" functionality
- Comprehensive error handling and user feedback

### Features

- **Natural Language Processing**: Enter transactions like "Spent $50 at Starbucks" or "Received $2000 salary"
- **Smart Folder Management**: Automatically selects folder if user has only one, otherwise presents selection interface
- **AI Integration**: Uses OpenAI GPT-4o for intelligent transaction parsing
- **Multi-Currency**: Supports different currencies based on folder configuration
- **Transaction Types**: Automatically detects expenses vs income
- **Payment Status**: Determines if transaction is paid or planned based on language cues

### Technical Implementation

- Integrated with Supabase edge functions for backend processing
- Secure token-based authentication
- Real-time API communication
- Proper error handling and user feedback
- TypeScript implementation with full type safety
34 changes: 34 additions & 0 deletions extensions/rewiser/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Rewiser for Raycast

Easily add and manage financial transactions in your Rewiser account — directly from Raycast.

## 🧠 Features

- **Add Transaction**
Quickly create transactions by typing natural language input.
Example:
- `Coffee at Starbucks 6.50 euros`
- `Freelance payment 1200 dollars income`

- **Monthly Transactions**
View and search your current month's expenses and income.
- Toggle between paid and planned
- Delete entries
- Real-time search filtering

## 🚀 How to Use

1. Create an account on [Rewiser](https://app.rewiser.io)
2. Log in and generate a personal API key from your profile
3. Open the Raycast command: **Rewiser: Add Transaction**
4. Enter a natural sentence describing the transaction
5. Or use **Rewiser: Monthly Transactions** to browse and manage your records

## 🔐 Requirements

- A Rewiser account
- Personal API Key from the Rewiser Web App

> To use this extension, sign up at [app.rewiser.io](https://app.rewiser.io) and create your personal API key.
> For demo access or testing credentials, contact us at [email protected]
> All data is handled securely through Rewiser’s API. No sensitive data is stored locally.
Binary file added extensions/rewiser/assets/extension-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/rewiser/assets/rewiserlogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions extensions/rewiser/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const { defineConfig } = require("eslint/config");
const raycastConfig = require("@raycast/eslint-config");

module.exports = defineConfig([...raycastConfig]);
Binary file added extensions/rewiser/metadata/rewiser-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/rewiser/metadata/rewiser-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added extensions/rewiser/metadata/rewiser-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading