UNPKG

orchetera

Version:

Welcome to **Orchetera** β€” your orchestration tool to kickstart Firebase-ready projects with ease!

143 lines (101 loc) β€’ 3.53 kB
# 🎼 Orchetera CLI Quickstart Welcome to **Orchetera** β€” your orchestration tool to kickstart Firebase-ready projects with ease! --- ## πŸš€ Getting Started 1. **Run Orchetera** ```bash npx orchetera [your-project-directory] ``` 2. **πŸ”§ Setup Firebase Config** Make sure `../firebaseConfig.js` exists and is properly filled. If it doesn’t, complete it manually like so: ```js // ../firebaseConfig.js export const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT_ID.firebaseapp.com", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_PROJECT_ID.appspot.com", messagingSenderId: "SENDER_ID", appId: "APP_ID" }; ``` 3. **⏳ Let Orchetera Handle the Setup** Sit back while Orchetera installs all required dependencies for you. πŸ§™β€β™‚οΈ --- ## πŸ”₯ Firebase Console Setup Go to [Firebase Console](https://console.firebase.google.com/) and do the following: - βœ… **Activate Hosting** ⚠️ *Select regular Hosting, not App Hosting.* - βœ… **Enable Authentication** Use the **Email/Password** provider. - βœ… **Create Firestore Database** Choose production mode or test mode. --- ## πŸ›‘οΈ Firestore Security Rules > Replace the default rules with: ```js rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if request.auth != null; } } } ``` --- ## πŸ“ Directory Generated Example structure: ``` /your-project-directory β”œβ”€β”€ /src β”œβ”€β”€ firebaseConfig.js βœ… β”œβ”€β”€ .env └── ... ``` --- ## πŸ” Environment Config (.env) - βœ… `.env` file will be **automatically generated**. - βœ… An **encrypted version** of `.env` will also be created for safe transfer across devices. - πŸ” When switching devices, just **decrypt it**, and... boom! You're ready to run. - πŸ”‘ During env generation, a **password will appear in the CLI** β€” **copy and save it** securely. ### πŸ”„ Update or Decrypt .env - To **re-encrypt** after modifying `.env`: ```bash npx dechipera ``` - To **manually decrypt** on another machine: ```bash npx dechipera --dec ``` --- ## 🌐 GitHub + Auto Deployment Setup Once Orchetera finishes its setup: 1. βœ… **Create a GitHub Repository** Push your project to the repo. 2. βœ… **Add GitHub Variable (not secret)** - Name: `DECHIPERA_TOKEN` - Value: (Paste the **decryption password** from the CLI) 3. βœ… **Add GitHub Secret** - Name: `FIREBASE_SERVICE_ACCOUNT` - Value: - Go to **Firebase Console** β†’ Project Settings β†’ **Service Accounts** - Click **"Generate new private key"** - Copy entire JSON content and use it as the secret value 4. βœ… **Commit and Push** Once pushed, deployment will be triggered **automatically** πŸŽ‰ The version will follow **semantic versioning (semver)** automatically. 5. βœ… **Open Your Firebase Hosting URL** Boom πŸ’₯ β€” your website is **live and accessible online**! --- ## πŸ’» Local Environment Experience After Orchetera setup is done: - βœ… **VS Code** will automatically open the newly created project folder - βœ… A browser tab will open pointing to the **auto-generated local port** (no port conflict β€” each project uses a random, safe port) Now you can **code, push, and boom!** Build your app as easily as flipping your hand βœ‹πŸ˜‰ --- ## ❀️ Powered by Orchetera > "Let the tools play the symphony for you."