veracarto 0.1.0
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.
- package/README.md +76 -0
- package/dist/cli/index.js +45117 -0
- package/dist/cli/index.js.map +7 -0
- package/package.json +67 -0
package/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# vcarto
|
|
2
|
+
|
|
3
|
+
Agentic GCP security remediation tool. Continuously scans your Google Cloud project for misconfigurations, triages findings with an AI agent, and applies fixes -- with human approval where needed.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
- **Server** -- Express API + background agent loops. Deployed to Railway (or any Node.js host).
|
|
8
|
+
- **CLI** -- Ink-based terminal UI. Published to npm as `vcarto`. Connects to the server over HTTPS.
|
|
9
|
+
|
|
10
|
+
## Quick start
|
|
11
|
+
|
|
12
|
+
### 1. Deploy the server
|
|
13
|
+
|
|
14
|
+
[](https://railway.app/template)
|
|
15
|
+
|
|
16
|
+
Or manually:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
git clone <repo-url> && cd veracarto-cli
|
|
20
|
+
cp .env.example .env # fill in ENCRYPTION_KEY + ANTHROPIC_API_KEY
|
|
21
|
+
npm install
|
|
22
|
+
npm run build:server
|
|
23
|
+
npm start
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
See [DEPLOY.md](./DEPLOY.md) for full Railway deployment instructions.
|
|
27
|
+
|
|
28
|
+
### 2. Install the CLI
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install -g vcarto
|
|
32
|
+
veracarto
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The CLI walks you through connecting GCP, GitHub, and Slack.
|
|
36
|
+
|
|
37
|
+
## Environment variables
|
|
38
|
+
|
|
39
|
+
| Variable | Required | Description |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| `ENCRYPTION_KEY` | Yes | 64-char hex string for encrypting GCP keys at rest |
|
|
42
|
+
| `ANTHROPIC_API_KEY` | Yes | Claude API key for the AI agent |
|
|
43
|
+
| `PORT` | No | Server port (default: 3000) |
|
|
44
|
+
| `DATABASE_PATH` | No | SQLite path (default: `./data/veracarto.db`) |
|
|
45
|
+
| `GITHUB_APP_ID` | No | GitHub App for Dependabot ingestion |
|
|
46
|
+
| `SLACK_CLIENT_ID` | No | Slack App for approval workflows |
|
|
47
|
+
|
|
48
|
+
See `.env.example` for the full list.
|
|
49
|
+
|
|
50
|
+
## Development
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Terminal 1 -- server
|
|
54
|
+
cp .env.example .env # fill in values
|
|
55
|
+
npm install
|
|
56
|
+
npm run dev:server
|
|
57
|
+
|
|
58
|
+
# Terminal 2 -- CLI (watch mode)
|
|
59
|
+
npm run dev:cli
|
|
60
|
+
node dist/cli/index.js
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Scripts
|
|
64
|
+
|
|
65
|
+
| Script | Description |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `npm run dev:server` | Start server with hot reload |
|
|
68
|
+
| `npm run dev:cli` | Build CLI in watch mode |
|
|
69
|
+
| `npm run build` | Build both server and CLI |
|
|
70
|
+
| `npm run build:cli` | Build CLI only |
|
|
71
|
+
| `npm run build:server` | Build server only |
|
|
72
|
+
| `npm start` | Start the production server |
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
MIT
|