Skip to content

Commit 373d64f

Browse files
Update readme and docs
1 parent 6f2e94a commit 373d64f

2 files changed

Lines changed: 331 additions & 396 deletions

File tree

README.md

Lines changed: 68 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
> **For Engineering Leaders**: Stop losing weeks to environment setup, secret management, and onboarding friction. Initiat transforms your developer experience from days of setup to minutes of productivity.
1010
11-
## The Problem: Developer Experience Debt
11+
## The Problem
1212

1313
**Every engineering team faces the same productivity killers:**
1414

@@ -20,100 +20,93 @@
2020

2121
**The Cost**: Lost productivity, frustrated developers, delayed releases, and security vulnerabilities.
2222

23-
## What's Available Now
23+
## What Initiat Does
2424

25-
**Zero-Knowledge Secret Management** 🔐 *Production ready - Invite only*
25+
Initiat solves these problems with three core capabilities:
2626

27-
Transform how your team handles secrets with enterprise-grade security. Our zero-knowledge architecture ensures that even we can't decrypt your secrets - everything is encrypted client-side before transmission.
27+
### 🔐 Zero-Knowledge Secret Management
2828

29-
```bash
30-
# Set a secret for your team (with project selection)
31-
initiat secret set API_KEY --value "sk-1234567890abcdef"
32-
# CLI will prompt: Select project (0 for custom): 1
29+
Manage team secrets with enterprise-grade security. Secrets are encrypted on your device before transmission, and we can never decrypt them - even with full server access.
3330

34-
# Get a secret (decrypted client-side)
35-
initiat secret get API_KEY
36-
# CLI will prompt: Select project (0 for custom): 1
31+
**Key Features:**
32+
- Client-side encryption with Ed25519/X25519 cryptography
33+
- Team-based access control with device approval workflows
34+
- Audit trails for security and compliance
35+
- Cross-platform CLI for macOS, Linux, and Windows
3736

38-
# List all secrets in a project
39-
initiat secret list
40-
# CLI will prompt: Select project (0 for custom): 1
37+
**Learn more:** [Security Documentation](docs/SECURITY.md)
4138

42-
# Or specify project explicitly
43-
initiat secret set API_KEY --value "sk-1234567890abcdef" --project-path acme-corp/production
44-
```
39+
### 🚀 Automated Environment Setup
4540

46-
- **Client-side encryption** with Ed25519/X25519 cryptography
47-
- **Team-based access control** with device approval workflows
48-
- **Audit trails** for security and compliance
49-
- **Cross-platform CLI** for macOS, Linux, and Windows
41+
Define your development environment in `.initiat/setup.yml` and let Initiat handle the rest. Works across macOS, Linux, and Windows with explicit, GitHub Actions-style commands.
5042

51-
**Team Management** 👥 *Production ready - Invite only*
43+
**Key Features:**
44+
- Explicit command-based setup (no magic, just clear commands)
45+
- Cross-platform support with OS-specific conditions
46+
- Idempotent operations (safe to run multiple times)
47+
- Integrates with secret management for secure configuration
5248

53-
Streamline device and project management with granular control over who can access what. Every device must be approved, and every project can be configured with specific permissions.
49+
**Learn more:** [Setup Scripts Documentation](docs/SETUP_SCRIPTS.md)
5450

55-
```bash
56-
# Register a new device
57-
initiat device register "my-laptop"
51+
### 👥 Team & Project Management
5852

59-
# Check pending device approvals
60-
initiat device approvals
53+
Organize secrets and environments by team and project. Control who can access what with device approval workflows and granular permissions.
6154

62-
# Approve all pending devices
63-
initiat device approve --all
55+
**Key Features:**
56+
- Device registration and approval workflows
57+
- Project-based organization for teams and projects
58+
- Role-based access control
59+
- Secure key storage using OS keychain integration
6460

65-
# List available projects
66-
initiat project list
61+
**Learn more:** [Command Reference](docs/COMMANDS.md)
6762

68-
# Initialize a new project
69-
initiat project init acme-corp/production
70-
```
63+
## Quick Start
7164

72-
- **Device registration** and approval workflows
73-
- **Project-based organization** for teams and projects
74-
- **Role-based access control** with granular permissions
75-
- **Secure key storage** using OS keychain integration
65+
### Installation
7666

77-
**Interactive Project Selection**
67+
1. **Create account** at [initiat.dev](https://initiat.dev)
68+
2. **Follow the setup instructions** at [initiat.dev](https://initiat.dev/docs/setup)
69+
3. **Register your device**: `initiat device register "my-laptop"`
70+
4. **Get approved** by your team administrator
71+
5. **Start using secrets**: `initiat secret set API_KEY --value "sk-..."`
7872

79-
Never remember project names again. When you don't specify a project, the CLI intelligently prompts you to select from available projects.
73+
### Basic Usage
8074

8175
```bash
82-
# No project specified - CLI will show interactive selection
76+
# Set a secret
77+
initiat secret set API_KEY --value "sk-1234567890abcdef"
78+
79+
# Get a secret
80+
initiat secret get API_KEY
81+
82+
# List all secrets
8383
initiat secret list
8484

85-
# Output:
86-
# ❓ Project context is required for this command.
87-
# 💡 You can specify project using:
88-
# --project-path org/project
89-
# --org org --project project
90-
# Or configure defaults with 'initiat config set org <org>' and 'initiat config set project <project>'
91-
#
92-
# Available projects:
93-
# 1. Production Environment (acme-corp/production)
94-
# 2. Staging Environment (acme-corp/staging)
95-
# 3. Development Environment (acme-corp/dev)
96-
# 0. Enter custom project
97-
#
98-
# Select project (0 for custom):
85+
# Initialize a project
86+
initiat project init acme-corp/production
87+
88+
# Run setup script
89+
initiat project setup
9990
```
10091

101-
**Benefits:**
102-
- **Faster Workflow**: No need to remember exact project names
103-
- **Discovery**: See all available projects at a glance
104-
- **Flexible**: Can still enter custom projects when needed
105-
- **User-Friendly**: Clear guidance and helpful error messages
92+
## Documentation
93+
94+
### Core Documentation
95+
96+
- **[Security & Secret Management](docs/SECURITY.md)**: How secrets are encrypted and protected
97+
- **[Setup Scripts](docs/SETUP_SCRIPTS.md)**: Complete guide to `.initiat/setup.yml`
98+
- **[Command Reference](docs/COMMANDS.md)**: All CLI commands and options
10699

107-
## What's Coming Next
100+
### Additional Resources
108101

109-
See our [roadmap](https://www.initiat.dev/roadmap) for exciting upcoming features
102+
- **[Release Process](docs/RELEASES.md)**: How to create and manage releases
103+
- **[Account Setup](https://initiat.dev)**: Create account and get started
104+
- **[Support](https://github.com/InitiatDev/initiat-cli/issues)**: GitHub Issues
110105

111106
## Technical Foundation
112107

113108
**Cryptographic Security**
114109

115-
We use industry-standard cryptographic primitives to ensure your secrets are protected at the highest level. Every operation is designed with security-first principles.
116-
117110
- **Ed25519 signatures** for device authentication
118111
- **X25519 key exchange** for project key wrapping
119112
- **XSalsa20Poly1305** for secret value encryption
@@ -122,93 +115,17 @@ We use industry-standard cryptographic primitives to ensure your secrets are pro
122115

123116
**Zero-Knowledge Architecture**
124117

125-
Our zero-knowledge architecture means we can't see your secrets, even if we wanted to. Everything is encrypted client-side before it ever reaches our servers.
126-
127118
- Client-side encryption before transmission
128119
- Server cannot decrypt secrets or project keys
129-
- Private keys stored in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
120+
- Private keys stored in OS keychain
130121
- Forward secrecy - compromising one device doesn't affect others
131122

132-
## Quick Start
133-
134-
**Secret Management**
135-
136-
Manage your team's secrets with enterprise-grade security. Every secret is encrypted client-side before transmission.
137-
138-
```bash
139-
# Set a secret
140-
initiat secret set API_KEY --value "sk-1234567890abcdef" --project-path acme-corp/production
141-
142-
# Get a secret
143-
initiat secret get API_KEY --project-path acme-corp/production
144-
145-
# List all secrets
146-
initiat secret list --project-path acme-corp/production
147-
```
148-
149-
**Device Management**
150-
151-
Control access with device approval workflows. Every device must be registered and approved before it can access secrets.
152-
153-
```bash
154-
# Register your device
155-
initiat device register "my-laptop"
156-
157-
# Check pending approvals
158-
initiat device approvals
159-
160-
# Approve all pending devices
161-
initiat device approve --all
162-
```
163-
164-
**Project Management**
165-
166-
Organize your secrets by team and project. Each project can have its own access controls and permissions.
167-
168-
```bash
169-
# List available projects
170-
initiat project list
171-
172-
# Initialize a new project (with interactive selection)
173-
initiat project init
174-
# CLI will prompt: Select project (0 for custom): 1
175-
176-
# Or specify project explicitly
177-
initiat project init acme-corp/production
178-
```
179-
180-
## Getting Started
181-
182-
### **Installation**
183-
1. **Create account** at [initiat.dev](https://initiat.dev)
184-
2. **Follow the setup instructions** at [initiat.dev](https://initiat.dev/docs/setup)
185-
4. **Set up projects** for your teams and projects
186-
5. **Configure device approval** workflows
187-
188-
### **For Teams**
189-
1. **Evaluate** current secret management process
190-
2. **Plan migration** from insecure channels (Slack, email, etc.)
191-
3. **Train teams** on new workflows
192-
4. **Monitor usage** and security improvements
193-
194-
## Documentation
195-
196-
### **Complete Guides**
197-
- **[Setup Scripts](docs/SETUP_SCRIPTS.md)**: Complete documentation for `.initiat/setup.yml` setup scripts
198-
- **[Command Reference](docs/COMMANDS.md)**: Complete CLI command documentation
199-
- **[Security Architecture](docs/SECURITY.md)**: Detailed security and cryptographic implementation
200-
- **[Release Process](docs/RELEASES.md)**: How to create and manage releases
201-
202-
### **Quick Links**
203-
- **Account Setup**: Create account at [initiat.dev](https://initiat.dev)
204-
- **Support**: [GitHub Issues](https://github.com/InitiatDev/initiat-cli/issues)
205-
- **Discussions**: [GitHub Discussions](https://github.com/InitiatDev/initiat-cli/discussions)
123+
**Learn more:** [Security Documentation](docs/SECURITY.md)
206124

207125
## Contributing
208126

209127
We welcome contributions! Here's how to get started:
210128

211-
### **Quick Start**
212129
1. **Fork** the repository
213130
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
214131
3. **Make** your changes with tests
@@ -217,7 +134,8 @@ We welcome contributions! Here's how to get started:
217134
6. **Push** to the branch (`git push origin feature/amazing-feature`)
218135
7. **Open** a Pull Request
219136

220-
### **Development Setup**
137+
### Development Setup
138+
221139
```bash
222140
# Clone your fork
223141
git clone https://github.com/yourusername/initiat-cli.git
@@ -226,38 +144,23 @@ cd initiat-cli
226144
# Install dependencies
227145
go mod tidy
228146

229-
# Linux users: Install X11 dependencies for clipboard support
230-
# Ubuntu/Debian
231-
sudo apt-get install libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev
232-
233-
# CentOS/RHEL/Fedora
234-
sudo yum install libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel
235-
# or for newer versions:
236-
sudo dnf install libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel
237-
238-
# Arch Linux
239-
sudo pacman -S libx11 libxrandr libxinerama libxcursor libxi
147+
# Run the setup script (installs dependencies, tools, etc.)
148+
initiat setup run
240149

241-
# Run tests to ensure everything works
150+
# Run tests
242151
make ci
243152

244-
# Build and test the CLI
153+
# Build the CLI
245154
go build -o initiat .
246-
./initiat --help
247155
```
248156

249-
### **What We're Looking For**
250-
- **Bug fixes** and improvements
251-
- **New features** that align with our roadmap
252-
- **Documentation** improvements
253-
- **Security** enhancements
254-
- **Performance** optimizations
157+
**Learn more:** See [Setup Scripts Documentation](docs/SETUP_SCRIPTS.md) for the complete development environment setup.
255158

256159
## License
257160

258161
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the [LICENSE](LICENSE) file for details.
259162

260-
**Important**: This license allows you to use, modify, and distribute the software, but requires that any derivative works or network services using this software must also be open source under the same license. This protects the open source nature of the project while allowing commercial use of the web application.
163+
**Important**: This license allows you to use, modify, and distribute the software, but requires that any derivative works or network services using this software must also be open source under the same license.
261164

262165
## Support
263166

0 commit comments

Comments
 (0)