diff --git a/.github/workflows/adamantite.yml b/.github/workflows/adamantite.yml new file mode 100644 index 0000000..b1e5265 --- /dev/null +++ b/.github/workflows/adamantite.yml @@ -0,0 +1,59 @@ +name: adamantite + +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + verify: + name: ${{ matrix.name }} + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - name: check + command: bun run check + - name: format + command: bun run format --check + - name: analyze + command: bun run analyze + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + ~/.bun/install/cache + node_modules + key: ${{ runner.os }}-bun-${{ hashFiles('bun.lock') }} + restore-keys: | + ${{ runner.os }}-bun- + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Run ${{ matrix.name }} + run: ${{ matrix.command }} diff --git a/.zed/settings.json b/.zed/settings.json new file mode 100644 index 0000000..70df372 --- /dev/null +++ b/.zed/settings.json @@ -0,0 +1,137 @@ +{ + "languages": { + "CSS": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "HTML": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "JSON": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "JSONC": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "JavaScript": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + }, + { + "code_action": "source.fixAll.oxc" + } + ] + }, + "MDX": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "Markdown": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + }, + "TSX": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + }, + { + "code_action": "source.fixAll.oxc" + } + ] + }, + "TypeScript": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + }, + { + "code_action": "source.fixAll.oxc" + } + ] + }, + "YAML": { + "format_on_save": "on", + "formatter": [ + { + "language_server": { + "name": "oxfmt" + } + } + ] + } + }, + "lsp": { + "oxfmt": { + "initialization_options": { + "settings": { + "configPath": null, + "fmt.experimental": true, + "run": "onSave", + "typeAware": false, + "unusedDisableDirectives": false + } + } + }, + "oxlint": { + "initialization_options": { + "settings": { + "configPath": null, + "fixKind": "safe_fix", + "run": "onType", + "typeAware": true, + "unusedDisableDirectives": "deny" + } + } + } + } +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..543cd58 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,14 @@ + + +## Adamantite + +This project uses Adamantite for its managed formatting, linting, type checking, and dependency-analysis setup. + +- Prefer the package scripts Adamantite added for this workspace. +- Run `bun run format` after editing files. Direct command: `adamantite format`. +- Run `bun run check` to catch lint and type issues. Direct command: `adamantite check`. +- Run `bun run fix` to apply safe lint fixes. Direct command: `adamantite fix`. +- Run `bun run analyze` after changing dependencies, imports, or exports. Direct command: `adamantite analyze`. +- Use `adamantite doctor` to inspect managed setup and `adamantite doctor --fix` for safe local fixes. + + diff --git a/README.md b/README.md index 1db3fb3..0aeae7e 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,7 @@ -# Astro Starter Kit: Basics +

+ Metaideas logo on an Electric Lime background +

-```sh -npm create astro@latest -- --template basics -``` - -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) -[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics) -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json) - -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! - -![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554) - -## 🚀 Project Structure - -Inside of your Astro project, you'll see the following folders and files: - -```text -/ -├── public/ -│ └── favicon.svg -├── src/ -│ ├── components/ -│ │ └── Card.astro -│ ├── layouts/ -│ │ └── Layout.astro -│ └── pages/ -│ └── index.astro -└── package.json -``` - -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. - -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. - -Any static assets, like images, can be placed in the `public/` directory. - -## 🧞 Commands - -All commands are run from the root of the project, from a terminal: - -| Command | Action | -| :------------------------ | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:4321` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro -- --help` | Get help using the Astro CLI | - -## 👀 Want to learn more? - -Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). +

+ A software development company for humans and agents. +

diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..6e3e2b7 Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..0871ce5 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/logo_dark.png b/assets/logo_dark.png new file mode 100644 index 0000000..0c43a6c Binary files /dev/null and b/assets/logo_dark.png differ diff --git a/assets/logo_dark.svg b/assets/logo_dark.svg new file mode 100644 index 0000000..e6c4589 --- /dev/null +++ b/assets/logo_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/astro.config.ts b/astro.config.ts index c8397a9..3cd925d 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -1,11 +1,9 @@ -import { defineConfig } from "astro/config"; -import vercel from "@astrojs/vercel/serverless"; - -import tailwind from "@astrojs/tailwind"; +import tailwindcss from "@tailwindcss/vite" +import { defineConfig } from "astro/config" // https://astro.build/config export default defineConfig({ - output: "server", - adapter: vercel(), - integrations: [tailwind()] -}); \ No newline at end of file + vite: { + plugins: [tailwindcss()], + }, +}) diff --git a/bun.lockb b/bun.lockb index e37a7fe..f6510a4 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/knip.config.ts b/knip.config.ts new file mode 100644 index 0000000..c9d47e4 --- /dev/null +++ b/knip.config.ts @@ -0,0 +1,6 @@ +import type { KnipConfig } from "knip" +import analyze from "adamantite/analyze" + +const config: KnipConfig = analyze + +export default config diff --git a/oxfmt.config.ts b/oxfmt.config.ts new file mode 100644 index 0000000..46362a6 --- /dev/null +++ b/oxfmt.config.ts @@ -0,0 +1,4 @@ +import format from "adamantite/format" +import { defineConfig } from "oxfmt" + +export default defineConfig(format) diff --git a/oxlint.config.ts b/oxlint.config.ts new file mode 100644 index 0000000..49ca007 --- /dev/null +++ b/oxlint.config.ts @@ -0,0 +1,19 @@ +import core from "adamantite/lint" +import { defineConfig } from "oxlint" + +export default defineConfig({ + extends: [core], + options: { + respectEslintDisableDirectives: true, + typeAware: true, + typeCheck: true, + }, + overrides: [ + { + files: ["**/*.astro", "**/*.d.ts"], + rules: { + "import/unambiguous": "off", + }, + }, + ], +}) diff --git a/package.json b/package.json index cb9d0b8..1975822 100644 --- a/package.json +++ b/package.json @@ -1,24 +1,31 @@ { "name": "metaideas.io", - "type": "module", "version": "0.0.1", + "type": "module", "scripts": { + "analyze": "adamantite analyze", + "astro": "astro", + "build": "astro build", + "check": "adamantite check", "dev": "astro dev", - "start": "astro dev", - "build": "astro check && astro build", + "fix": "adamantite fix", + "format": "adamantite format", "preview": "astro preview", - "astro": "astro" + "start": "astro dev" }, "dependencies": { - "@astrojs/check": "^0.5.10", - "@astrojs/tailwind": "^5.1.0", - "@astrojs/vercel": "^7.5.4", - "@tailwindcss/forms": "0.5.7", - "astro": "^4.7.1", - "tailwindcss": "^3.4.3", - "typescript": "^5.4.5" + "@fontsource-variable/instrument-sans": "^5.3.0", + "@tailwindcss/vite": "^4.3.3", + "astro": "^7.1.6", + "tailwindcss": "^4.3.3" }, "devDependencies": { - "@biomejs/biome": "1.7.2" - } -} \ No newline at end of file + "adamantite": "^0.33.2", + "knip": "6.29.0", + "oxfmt": "0.60.0", + "oxlint": "1.75.0", + "oxlint-tsgolint": "7.0.2001", + "typescript": "^7.0.2" + }, + "packageManager": "bun@1.3.14" +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..11f72d3 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/favicon.svg b/public/favicon.svg index f157bd1..f6d1904 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,9 +1 @@ - - - - + diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..c3e3771 --- /dev/null +++ b/public/logo.svg @@ -0,0 +1 @@ + diff --git a/src/components/Card.astro b/src/components/Card.astro deleted file mode 100644 index bd6d597..0000000 --- a/src/components/Card.astro +++ /dev/null @@ -1,61 +0,0 @@ ---- -interface Props { - title: string; - body: string; - href: string; -} - -const { href, title, body } = Astro.props; ---- - - - diff --git a/src/env.d.ts b/src/env.d.ts index acef35f..f964fe0 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1,2 +1 @@ -/// /// diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro deleted file mode 100644 index 7b552be..0000000 --- a/src/layouts/Layout.astro +++ /dev/null @@ -1,51 +0,0 @@ ---- -interface Props { - title: string; -} - -const { title } = Astro.props; ---- - - - - - - - - - - {title} - - - - - - diff --git a/src/layouts/layout.astro b/src/layouts/layout.astro new file mode 100644 index 0000000..00d289f --- /dev/null +++ b/src/layouts/layout.astro @@ -0,0 +1,41 @@ +--- +import "@fontsource-variable/instrument-sans"; +import instrumentSansUrl from "@fontsource-variable/instrument-sans/files/instrument-sans-latin-wght-normal.woff2?url"; +import "../styles/global.css"; + +interface Props { + description?: string; + title: string; +} + +const { + description = "A software development company for humans and agents.", + title, +} = Astro.props; +--- + + + + + + + + + + + + {title} + + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 4ace6de..da6c5c2 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,81 +1,61 @@ --- -import Layout from '../layouts/Layout.astro'; -import Card from '../components/Card.astro'; +import Layout from "../layouts/layout.astro"; --- -
-
-

Metaideas

-

- A software development company building better applications in the AI era. -

-
-
-
- Address - -
-
30 N Gould St. Ste. R
Sheridan, WY 82801
+
+
+
+
+
-
-
- Telephone - -
-
- +1 (551) 273-2773 -
-
-
-
- Email - -
-
- hello@metaideas.io -
-
-
-
+

+ A software development company for humans and agents. +

+ + + +
diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/tailwind.config.ts b/tailwind.config.ts deleted file mode 100644 index 7462be4..0000000 --- a/tailwind.config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Config } from "tailwindcss" -import FormsPlugin from "@tailwindcss/forms" - -export default { - content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], - theme: { - extend: {}, - }, - plugins: [FormsPlugin], -} satisfies Config diff --git a/tsconfig.json b/tsconfig.json index 77da9dd..3f222cf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "astro/tsconfigs/strict" -} \ No newline at end of file + "extends": "adamantite/typescript" +}