Skip to content

Commit 636d526

Browse files
committed
feat(ampup): initial commit
0 parents  commit 636d526

18 files changed

Lines changed: 4959 additions & 0 deletions

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# build output
2+
dist/
3+
4+
# generated types
5+
.astro/
6+
7+
# dependencies
8+
node_modules/
9+
10+
# logs
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
pnpm-debug.log*
15+
16+
# environment variables
17+
.env
18+
.env.production
19+
20+
# macOS-specific files
21+
.DS_Store
22+
23+
# jetbrains setting folder
24+
.idea/

.vscode/extensions.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"recommendations": ["astro-build.astro-vscode"],
3+
"unwantedRecommendations": []
4+
}

.vscode/launch.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"command": "./node_modules/.bin/astro dev",
6+
"name": "Development server",
7+
"request": "launch",
8+
"type": "node-terminal"
9+
}
10+
]
11+
}

AGENTS.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# AGENTS.md
2+
3+
This file provides guidance to coding agents when working with code in this repository.
4+
5+
## Project Overview
6+
7+
This is the landing page and installer distribution site for Amp, a tool for building and managing blockchain datasets. The site is built with Astro and serves the `ampup` installer script.
8+
9+
## Package Manager
10+
11+
Use `pnpm` for all package management operations (specified in package.json packageManager field).
12+
13+
## Common Commands
14+
15+
```sh
16+
# Development server
17+
pnpm dev
18+
19+
# Production build
20+
pnpm build
21+
22+
# Preview production build
23+
pnpm preview
24+
```
25+
26+
## Architecture
27+
28+
- **Framework**: Astro static site with Starlight documentation
29+
- **Landing Page**: `src/pages/index.astro` - main landing page at `/`
30+
- **Documentation**: Powered by Astro Starlight at `/docs`
31+
- Content in `src/content/docs/`
32+
- Configured in `astro.config.ts` with `@astrojs/starlight` integration
33+
- Content collections configured in `src/content.config.ts`
34+
- **Installer**: `public/install` - shell script that downloads and installs ampup binary
35+
- Detects platform (Linux/Darwin) and architecture (x86_64/aarch64)
36+
- Downloads from GitHub releases: `github.com/edgeandnode/amp/releases/latest`
37+
- Served at `https://ampup.sh/install`
38+
39+
## Key Components
40+
41+
- `src/pages/index.astro` - Landing page with installation command and link to docs
42+
- `src/content/docs/docs.md` - Documentation homepage accessible at `/docs`
43+
- `src/content.config.ts` - Starlight content collections configuration
44+
- `public/install` - Platform-agnostic installer script that:
45+
- Performs platform/architecture detection
46+
- Downloads appropriate ampup binary from GitHub releases
47+
- Executes ampup initialization
48+
- Handles cleanup
49+
50+
## Documentation
51+
52+
Documentation is built with Astro Starlight and served at `/docs`. To add new documentation pages:
53+
- Add `.md` files to `src/content/docs/`
54+
- File paths map to URLs: `src/content/docs/foo.md``/docs/foo`
55+
- Use frontmatter for page metadata (title, description)
56+
57+
The installer is the primary distribution mechanism referenced in README and served at the ampup.sh domain.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md

GEMINI.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
AGENTS.md

LICENSE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
All rights reserved.
2+
3+
This software and its source code are proprietary and confidential.
4+
Unauthorized copying, modification, distribution, or use of this software,
5+
via any medium, is strictly prohibited.
6+
7+
Copyright (c) 2025 Edge & Node

README.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# Amp
2+
3+
The tool for building and managing blockchain datasets.
4+
5+
## Installation
6+
7+
The easiest way to install Amp is using `ampup`, the official version manager and installer:
8+
9+
```sh
10+
curl --proto '=https' --tlsv1.2 -sSf https://ampup.sh/install | sh
11+
```
12+
13+
This will install `ampup` and the latest version of `ampd`. You may need to restart your terminal or run `source ~/.zshenv` (or your shell's equivalent) to update your PATH.
14+
15+
Once installed, you can manage `ampd` versions:
16+
17+
```sh
18+
# Install or update to the latest version
19+
ampup install
20+
21+
# Switch between installed versions
22+
ampup use
23+
```
24+
25+
For more details and advanced options, see `ampup --help`.
26+
27+
### Installation via Nix
28+
29+
> This will be supported once the source repository has been released
30+
31+
For Nix users, `ampd` is available as a flake:
32+
33+
```sh
34+
# Run directly without installing
35+
nix run github:edgeandnode/amp
36+
37+
# Install to your profile
38+
nix profile install github:edgeandnode/amp
39+
40+
# Try it out temporarily
41+
nix shell github:edgeandnode/amp -c ampd --version
42+
```
43+
44+
You can also add it to your NixOS or home-manager configuration:
45+
46+
```nix
47+
{
48+
inputs = {
49+
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
50+
amp = {
51+
url = "github:edgeandnode/amp";
52+
inputs.nixpkgs.follows = "nixpkgs";
53+
};
54+
};
55+
56+
outputs = { nixpkgs, amp, ... }: {
57+
# NixOS configuration
58+
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
59+
# ...
60+
environment.systemPackages = [
61+
amp.packages.${system}.ampd
62+
];
63+
};
64+
65+
# Or home-manager configuration
66+
home.packages = [
67+
amp.packages.${system}.ampd
68+
];
69+
};
70+
}
71+
```
72+
73+
Note: Nix handles version management, so `ampup` is not needed for Nix users.
74+
75+
### Building from Source (Manual)
76+
77+
> This will be supported once the source repository has been released
78+
79+
If you prefer to build manually without using `ampup`:
80+
81+
```sh
82+
cargo build --release -p ampd
83+
```
84+
85+
The binary will be available at `target/release/ampd`.

astro.config.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { defineConfig } from 'astro/config';
2+
import tailwindcss from '@tailwindcss/vite';
3+
import starlight from '@astrojs/starlight';
4+
5+
// https://astro.build/config
6+
export default defineConfig({
7+
integrations: [
8+
starlight({
9+
title: 'Amp',
10+
}),
11+
],
12+
vite: {
13+
plugins: [tailwindcss()],
14+
},
15+
});

package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"private": true,
3+
"type": "module",
4+
"scripts": {
5+
"dev": "astro dev",
6+
"build": "astro build",
7+
"preview": "astro preview",
8+
"astro": "astro"
9+
},
10+
"dependencies": {
11+
"@astrojs/starlight": "^0.36.0",
12+
"astro": "^5.14.4"
13+
},
14+
"packageManager": "pnpm@10.18.2+sha512.9fb969fa749b3ade6035e0f109f0b8a60b5d08a1a87fdf72e337da90dcc93336e2280ca4e44f2358a649b83c17959e9993e777c2080879f3801e6f0d999ad3dd",
15+
"devDependencies": {
16+
"@tailwindcss/vite": "^4.1.14",
17+
"tailwindcss": "^4.1.14"
18+
}
19+
}

0 commit comments

Comments
 (0)