File size: 5,005 Bytes
5b12974
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# Core CLI

🧠 **CORE - Contextual Observation & Recall Engine**

A Command-Line Interface for setting up and managing the Core development environment.

## Installation

```bash
npm install -g @redplanethq/core
```

## Commands

### `core init`

**One-time setup command** - Initializes the Core development environment with full configuration.

### `core start`

**Daily usage command** - Starts all Core services (Docker containers).

### `core stop`

**Daily usage command** - Stops all Core services (Docker containers).

## Getting Started

### Prerequisites

- **Node.js** (v18.20.0 or higher)
- **Docker** and **Docker Compose**
- **Git**
- **pnpm** package manager

### Initial Setup

1. **Clone the Core repository:**
   ```bash
   git clone https://github.com/redplanethq/core.git
   cd core
   ```

2. **Run the initialization command:**
   ```bash
   core init
   ```

3. **The CLI will guide you through the complete setup process:**

#### Step 1: Prerequisites Check
- The CLI shows a checklist of required tools
- Confirms you're in the Core repository directory
- Exits with instructions if prerequisites aren't met

#### Step 2: Environment Configuration

- Copies `.env.example` to `.env` in the root directory
- Copies `trigger/.env.example` to `trigger/.env`
- Skips copying if `.env` files already exist

#### Step 3: Docker Services Startup

- Starts main Core services: `docker compose up -d`
- Starts Trigger.dev services: `docker compose up -d` (in trigger/ directory)
- Shows real-time output with progress indicators

#### Step 4: Database Health Check

- Verifies PostgreSQL is running on `localhost:5432`
- Retries for up to 60 seconds if needed

#### Step 5: Trigger.dev Setup (Interactive)

- **If Trigger.dev is not configured:**

  1. Prompts you to open http://localhost:8030
  2. Asks you to login to Trigger.dev
  3. Guides you to create an organization and project
  4. Collects your Project ID and Secret Key
  5. Updates `.env` with your Trigger.dev configuration
  6. Restarts Core services with new configuration

- **If Trigger.dev is already configured:**
  - Skips setup and shows "Configuration already exists" message

#### Step 6: Docker Registry Login

- Displays docker login command with credentials from `.env`
- Waits for you to complete the login process

#### Step 7: Trigger.dev Task Deployment

- Automatically runs: `npx trigger.dev@v4-beta login -a http://localhost:8030`
- Deploys tasks with: `pnpm trigger:deploy`
- Shows manual deployment instructions if automatic deployment fails

#### Step 8: Setup Complete!

- Confirms all services are running
- Shows service URLs and connection information

## Daily Usage

After initial setup, use these commands for daily development:

### Start Services

```bash
core start
```

Starts all Docker containers for Core development.

### Stop Services

```bash
core stop
```

Stops all Docker containers.

## Service URLs

After setup, these services will be available:

- **Core Application**: http://localhost:3033
- **Trigger.dev**: http://localhost:8030
- **PostgreSQL**: localhost:5432

## Troubleshooting

### Repository Not Found

If you run commands outside the Core repository:

- The CLI will ask you to confirm you're in the Core repository
- If not, it provides instructions to clone the repository
- Navigate to the Core repository directory before running commands again

### Docker Issues

- Ensure Docker is running
- Check Docker Compose is installed
- Verify you have sufficient system resources

### Trigger.dev Setup Issues

- Check container logs: `docker logs trigger-webapp --tail 50`
- Ensure you can access http://localhost:8030
- Verify your network allows connections to localhost

### Environment Variables

The CLI automatically manages these environment variables:

- `TRIGGER_PROJECT_ID` - Your Trigger.dev project ID
- `TRIGGER_SECRET_KEY` - Your Trigger.dev secret key
- Docker registry credentials for deployment

### Manual Trigger.dev Deployment

If automatic deployment fails, run manually:

```bash
npx trigger.dev@v4-beta login -a http://localhost:8030
pnpm trigger:deploy
```

## Development Workflow

1. **First time setup:** `core init`
2. **Daily development:**
   - `core start` - Start your development environment
   - Do your development work
   - `core stop` - Stop services when done

## Support

For issues and questions:

- Check the main Core repository: https://github.com/redplanethq/core
- Review Docker container logs for troubleshooting
- Ensure all prerequisites are properly installed

## Features

- πŸš€ **One-command setup** - Complete environment initialization
- πŸ”„ **Smart configuration** - Skips already configured components
- πŸ“± **Real-time feedback** - Live progress indicators and output
- 🐳 **Docker integration** - Full container lifecycle management
- πŸ”§ **Interactive setup** - Guided configuration process
- 🎯 **Error handling** - Graceful failure with recovery instructions

---

**Happy coding with Core!** πŸŽ‰