Skip to content
Merged
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
70 changes: 70 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,73 @@ tmp# ── END stackpanel ──
.dolt/
*.db
.beads-credential-key
# Stackpanel generated files (cache)
.stackpanel/state/
.stackpanel/bin/
.sst
.tmp
.envrc.local


# START Stackpanel Generated Files
# DO NOT EDIT - managed by stackpanel. Changes will be overwritten.
/.envrc.local
/.stackpanel/gen/direnv-wrapper.sh
/.stackpanel/gen/vscode/devshell-loader.sh
/.stackpanel/gen/zed/devshell-loader.sh
/.stackpanel/gen/zed/settings.json
/.stackpanel/state/infra-inputs.json
/.tasks/bin/build
/.tasks/bin/clean
/.tasks/bin/db:migrate
/.tasks/bin/db:push
/.tasks/bin/db:studio
/.tasks/bin/dev
/.tasks/bin/format
/.tasks/bin/generate:proto
/.tasks/bin/generate:types
/.tasks/bin/lint
/.tasks/bin/test
/.tasks/bin/test:coverage
/.tasks/bin/test:watch
/.tasks/bin/typecheck
/.vscode/settings.json
/apps/docs/.oxlintrc.json
/apps/web/.oxlintrc.json
/devshell
/packages/gen/env/README.md
/packages/gen/env/data/shared/vars.yaml
/packages/gen/env/package.json
/packages/gen/env/src/entrypoints/docs.ts
/packages/gen/env/src/entrypoints/index.ts
/packages/gen/env/src/entrypoints/stackpanel-go.ts
/packages/gen/env/src/entrypoints/web.ts
/packages/gen/env/src/generated/docs/dev.ts
/packages/gen/env/src/generated/docs/index.ts
/packages/gen/env/src/generated/index.ts
/packages/gen/env/src/generated/stackpanel-go/dev.ts
/packages/gen/env/src/generated/stackpanel-go/index.ts
/packages/gen/env/src/generated/web/dev.ts
/packages/gen/env/src/generated/web/index.ts
/packages/gen/env/src/generated/web/prod.ts
/packages/gen/env/src/index.ts
/packages/gen/env/tsconfig.json
/packages/infra/README.md
/packages/infra/alchemy.run.ts
/packages/infra/modules/aws-secrets.ts
/packages/infra/modules/deployment.ts
/packages/infra/package.json
/packages/infra/src/index.ts
/packages/infra/src/resources/kms-alias.ts
/packages/infra/src/resources/kms-key.ts
/packages/infra/src/types.ts
/packages/infra/sst.config.ts
/packages/infra/tsconfig.json
/packages/scripts/entrypoints/docs.sh
/packages/scripts/entrypoints/stackpanel-go.sh
/packages/scripts/entrypoints/web.sh
/process-compose.yaml
/turbo.json
/.stackpanel/bin/
/.stackpanel/secrets/keys/.sops.yaml
# END Stackpanel Generated Files
1 change: 0 additions & 1 deletion .stackpanel-root

This file was deleted.

58 changes: 29 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://stack.dev/light.svg">
<source media="(prefers-color-scheme: light)" srcset="https://stack.dev/dark.svg">
<img alt="stack" src="https://stack.dev/light.svg" width="400">
<source media="(prefers-color-scheme: dark)" srcset="https://stackpanel.dev/light.svg">
<source media="(prefers-color-scheme: light)" srcset="https://stackpanel.dev/dark.svg">
<img alt="stackpanel" src="https://stackpanel.dev/light.svg" width="400">
</picture>
</p>

<h3 align="center">Ship products, not plumbing.</h3>

<p align="center">
<a href="https://github.com/darkmatter/stack/actions/workflows/ci.yml"><img src="https://github.com/darkmatter/stack/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://stack.dev"><img src="https://img.shields.io/badge/docs-stack.dev-blue" alt="Documentation"></a>
<a href="https://github.com/darkmatter/stack/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
<a href="https://github.com/darkmatter/stackpanel/actions/workflows/ci.yml"><img src="https://github.com/darkmatter/stackpanel/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://stackpanel.dev"><img src="https://img.shields.io/badge/docs-stackpanel.dev-blue" alt="Documentation"></a>
<a href="https://github.com/darkmatter/stackpanel/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
</p>

<p align="center">
Expand All @@ -27,9 +27,9 @@ Configuration files, build tooling, environment setup - this is the bureaucracy

**The value of your application lives in your source code, not configuration.**

## What Stack Does
## What Stackpanel Does

Stack provides a complete development infrastructure toolkit:
Stackpanel provides a complete development infrastructure toolkit:

- **Zero-config dev environments** - Automatic setup for popular stacks with deterministic ports
- **Secrets management** - Team-based encrypted secrets with AGE/SOPS
Expand All @@ -40,7 +40,7 @@ Stack provides a complete development infrastructure toolkit:

**No lock-in.** Generated files are standard formats in standard locations. Eject anytime with a normal codebase.

**No Nix knowledge required.** If you can write JSON, you can configure Stack. Or just use the web UI.
**No Nix knowledge required.** If you can write JSON, you can configure Stackpanel. Or just use the web UI.

## Quick Start

Expand All @@ -53,7 +53,7 @@ Stack provides a complete development infrastructure toolkit:

```bash
# Create a new project with the default template
nix flake init -t github:darkmatter/stack
nix flake init -t git+ssh://git@github.com/darkmatter/stackpanel

# Set up direnv
echo 'use flake . --impure' > .envrc
Expand All @@ -72,24 +72,24 @@ nix develop --impure
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
devenv.url = "github:cachix/devenv";
stack.url = "github:darkmatter/stack";
stackpanel.url = "git+ssh://git@github.com/darkmatter/stackpanel";
};

outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
inputs.devenv.flakeModule
inputs.stack.flakeModules.default
inputs.stackpanel.flakeModules.default
];

systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];

perSystem = {pkgs, ...}: {
devenv.shells.default = {
imports = [inputs.stack.devenvModules.default];
imports = [inputs.stackpanel.devenvModules.default];

# Your config
stack.enable = true;
stackpanel.enable = true;
packages = [pkgs.nodejs pkgs.bun];
};
};
Expand All @@ -99,24 +99,24 @@ nix develop --impure

## Configuration

Edit `.stack/config.nix` to configure your environment:
Edit `.stackpanel/config.nix` to configure your environment:

```nix
{
enable = true;

# Themed shell prompt
theme.enable = true;

# VS Code integration
ide.vscode.enable = true;

# Global services
globalServices = {
postgres.enable = true;
redis.enable = true;
};

# AWS certificate auth
# aws.roles-anywhere.enable = true;
}
Expand All @@ -141,9 +141,9 @@ my-project → base port 4200
Team-based secrets with AGE encryption:

```nix
stack.secrets = {
stackpanel.secrets = {
master-key.enable = true;

apps.api = {
dev = {
DATABASE_URL = "postgres://...";
Expand All @@ -157,7 +157,7 @@ stack.secrets = {

Auto-generated VS Code workspace with:
- Correct terminal environment
- Extension recommendations
- Extension recommendations
- Debugger configurations
- Task runners

Expand All @@ -171,13 +171,13 @@ Local web UI at `localhost:9876` for:

## Documentation

Full documentation is available at [stack.dev](https://stack.dev/docs):
Full documentation is available at [stackpanel.dev](https://stackpanel.dev/docs):

- [Quick Start Guide](https://stack.dev/docs/quick-start)
- [Concepts](https://stack.dev/docs/concepts)
- [Configuration Reference](https://stack.dev/docs/reference)
- [Secrets Management](https://stack.dev/docs/features/secrets)
- [AWS Integration](https://stack.dev/docs/features/aws)
- [Quick Start Guide](https://stackpanel.dev/docs/quick-start)
- [Concepts](https://stackpanel.dev/docs/concepts)
- [Configuration Reference](https://stackpanel.dev/docs/reference)
- [Secrets Management](https://stackpanel.dev/docs/features/secrets)
- [AWS Integration](https://stackpanel.dev/docs/features/aws)

## Architecture

Expand Down
52 changes: 26 additions & 26 deletions README.tmpl.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://stack.dev/light.svg">
<source media="(prefers-color-scheme: light)" srcset="https://stack.dev/dark.svg">
<img alt="stack" src="https://stack.dev/light.svg" width="400">
<source media="(prefers-color-scheme: dark)" srcset="https://stackpanel.dev/light.svg">
<source media="(prefers-color-scheme: light)" srcset="https://stackpanel.dev/dark.svg">
<img alt="stackpanel" src="https://stackpanel.dev/light.svg" width="400">
</picture>
</p>

<h3 align="center">Ship products, not plumbing.</h3>

<p align="center">
<a href="https://github.com/darkmatter/stack/actions/workflows/ci.yml"><img src="https://github.com/darkmatter/stack/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://stack.dev"><img src="https://img.shields.io/badge/docs-stack.dev-blue" alt="Documentation"></a>
<a href="https://github.com/darkmatter/stack/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
<a href="https://github.com/darkmatter/stackpanel/actions/workflows/ci.yml"><img src="https://github.com/darkmatter/stackpanel/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
<a href="https://stackpanel.dev"><img src="https://img.shields.io/badge/docs-stackpanel.dev-blue" alt="Documentation"></a>
<a href="https://github.com/darkmatter/stackpanel/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
</p>

<p align="center">
Expand All @@ -27,9 +27,9 @@ Configuration files, build tooling, environment setup - this is the bureaucracy

**The value of your application lives in your source code, not configuration.**

## What Stack Does
## What Stackpanel Does

Stack provides a complete development infrastructure toolkit:
Stackpanel provides a complete development infrastructure toolkit:

- **Zero-config dev environments** - Automatic setup for popular stacks with deterministic ports
- **Secrets management** - Team-based encrypted secrets with AGE/SOPS
Expand All @@ -40,7 +40,7 @@ Stack provides a complete development infrastructure toolkit:

**No lock-in.** Generated files are standard formats in standard locations. Eject anytime with a normal codebase.

**No Nix knowledge required.** If you can write JSON, you can configure Stack. Or just use the web UI.
**No Nix knowledge required.** If you can write JSON, you can configure Stackpanel. Or just use the web UI.

## Quick Start

Expand All @@ -53,7 +53,7 @@ Stack provides a complete development infrastructure toolkit:

```bash
# Create a new project with the default template
nix flake init -t github:darkmatter/stack
nix flake init -t git+ssh://git@github.com/darkmatter/stackpanel

# Set up direnv
echo 'use flake . --impure' > .envrc
Expand All @@ -72,24 +72,24 @@ nix develop --impure
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
devenv.url = "github:cachix/devenv";
stack.url = "github:darkmatter/stack";
stackpanel.url = "git+ssh://git@github.com/darkmatter/stackpanel";
};

outputs = inputs @ {flake-parts, ...}:
flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
inputs.devenv.flakeModule
inputs.stack.flakeModules.default
inputs.stackpanel.flakeModules.default
];

systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];

perSystem = {pkgs, ...}: {
devenv.shells.default = {
imports = [inputs.stack.devenvModules.default];
imports = [inputs.stackpanel.devenvModules.default];

# Your config
stack.enable = true;
stackpanel.enable = true;
packages = [pkgs.nodejs pkgs.bun];
};
};
Expand All @@ -99,38 +99,38 @@ nix develop --impure

## Configuration

Edit `.stack/config.nix` to configure your environment:
Edit `.stackpanel/config.nix` to configure your environment:

```nix
{
enable = true;

# Themed shell prompt
theme.enable = true;

# VS Code integration
ide.vscode.enable = true;

# Global services
globalServices = {
postgres.enable = true;
redis.enable = true;
};

# AWS certificate auth
# aws.roles-anywhere.enable = true;
}
```

## Documentation

Full documentation is available at [stack.dev](https://stack.dev/docs):
Full documentation is available at [stackpanel.dev](https://stackpanel.dev/docs):

- [Quick Start Guide](https://stack.dev/docs/quick-start)
- [Concepts](https://stack.dev/docs/concepts)
- [Configuration Reference](https://stack.dev/docs/reference)
- [Secrets Management](https://stack.dev/docs/features/secrets)
- [AWS Integration](https://stack.dev/docs/features/aws)
- [Quick Start Guide](https://stackpanel.dev/docs/quick-start)
- [Concepts](https://stackpanel.dev/docs/concepts)
- [Configuration Reference](https://stackpanel.dev/docs/reference)
- [Secrets Management](https://stackpanel.dev/docs/features/secrets)
- [AWS Integration](https://stackpanel.dev/docs/features/aws)

## Architecture

Expand Down
6 changes: 3 additions & 3 deletions apps/docs/content/docs/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ icon: heart
```bash
tmpdir=$(mktemp -d)
cd $tmpdir
nix flake init -t github:darkmatter/stackpanel#minimal
nix flake init -t git+ssh://git@github.com/darkmatter/stackpanel#minimal
# or locally
nix flake init -t /Users/coopermaruyama/darkmatter/stackpanel#default
git init && git add -A

# 4. Update the flake to use local stackpanel (since github:darkmatter/stackpanel isn't public)
sed 's|github:darkmatter/stackpanel|path:/Users/coopermaruyama/darkmatter/stackpanel|' flake.nix > flake.nix.tmp && mv flake.nix.tmp flake.nix
# 4. Update the flake to use local stackpanel (since git+ssh://git@github.com/darkmatter/stackpanel isn't public)
sed 's|git+ssh://git@github.com/darkmatter/stackpanel|path:/Users/coopermaruyama/darkmatter/stackpanel|' flake.nix > flake.nix.tmp && mv flake.nix.tmp flake.nix

```
2 changes: 1 addition & 1 deletion apps/docs/content/docs/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ Add to your `devenv.yaml`:
```yaml
inputs:
stackpanel:
url: github:darkmatter/stackpanel
url: git+ssh://git@github.com/darkmatter/stackpanel
```
Loading