@wojciechpiskorz/astroix 0.0.1
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/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/package.json +67 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Woji Piskorz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Astroix
|
|
2
|
+
|
|
3
|
+
A visual builder for Astro projects — a dev-only integration where an AI agent does ~90% of the work, and you finish the last 10% (content tweaks, CSS polish) in a GUI instead of hunting through an unfamiliar codebase.
|
|
4
|
+
|
|
5
|
+
**Status: scaffold.** The package structure, toolchain, CI, and the e2e fixture are in place; feature implementation is starting. Docs remain the source of truth.
|
|
6
|
+
|
|
7
|
+
## What it will do
|
|
8
|
+
|
|
9
|
+
- **Content tab** — edit Astro Content Collections through forms generated from zod schemas; markdown body editing; writes real `.md` files.
|
|
10
|
+
- **CSS tab** — click any element on the live canvas (same-origin iframe), see which rules style it and **where they live in your repo** (file + line), edit them in place (declaration widgets or raw CSS), and have changes written back to the source files with minimal diffs. Live bidirectional sync with your IDE.
|
|
11
|
+
|
|
12
|
+
Core principle: **repo-mapping, not a parallel world** — the builder reads and writes the same files an agent would, so the repo stays coherent for both humans and AI.
|
|
13
|
+
|
|
14
|
+
## Docs
|
|
15
|
+
|
|
16
|
+
- [`docs/spec.md`](docs/spec.md) — product spec: problem, solution, user stories, implementation decisions, testing strategy
|
|
17
|
+
- [`docs/stack.md`](docs/stack.md) — technology stack and the reasoning behind each choice
|
|
18
|
+
- [`docs/core-reuse.md`](docs/core-reuse.md) — inventory of Astro/Vite core APIs reused instead of rebuilt
|
|
19
|
+
|
|
20
|
+
## Scope
|
|
21
|
+
|
|
22
|
+
Targets the latest Astro major only (`astro ^7`, Vite 8, zod 4) — built for new projects and their maintenance, not for legacy support.
|
|
23
|
+
|
|
24
|
+
## Development
|
|
25
|
+
|
|
26
|
+
Requires [bun](https://bun.sh) and Node >= 22.12.
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
bun install # also in e2e/fixture/
|
|
30
|
+
bun run check && bun run typecheck # Biome + tsc
|
|
31
|
+
bun run test # vitest (unit)
|
|
32
|
+
bun run test:e2e # Playwright (boots e2e/fixture on :4312)
|
|
33
|
+
bun run build # tsup → dist
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## License
|
|
37
|
+
|
|
38
|
+
[MIT](LICENSE)
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AstroIntegration } from 'astro';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Astroix — dev-only visual builder integration (scaffold stage).
|
|
5
|
+
*
|
|
6
|
+
* Registers no hooks yet; the Vite plugin, `?builder=1` middleware, virtual
|
|
7
|
+
* chrome module and watcher land with the integration tasks — see docs/spec.md
|
|
8
|
+
* and docs/core-reuse.md for the agreed mechanics.
|
|
9
|
+
*/
|
|
10
|
+
declare function astroix(): AstroIntegration;
|
|
11
|
+
|
|
12
|
+
export { astroix as default };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/node/index.ts"],"sourcesContent":["import type { AstroIntegration } from 'astro';\n\n/**\n * Astroix — dev-only visual builder integration (scaffold stage).\n *\n * Registers no hooks yet; the Vite plugin, `?builder=1` middleware, virtual\n * chrome module and watcher land with the integration tasks — see docs/spec.md\n * and docs/core-reuse.md for the agreed mechanics.\n */\nfunction astroix(): AstroIntegration {\n return {\n name: 'astroix',\n hooks: {},\n };\n}\n\nexport default astroix;\n"],"mappings":";AASA,SAAS,UAA4B;AACnC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,CAAC;AAAA,EACV;AACF;AAEA,IAAO,eAAQ;","names":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wojciechpiskorz/astroix",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Dev-only Astro 7 integration — a visual builder for Content Collections content and repo-mapped CSS",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/wojtekpiskorz/astroix.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"astro",
|
|
13
|
+
"astro-integration",
|
|
14
|
+
"visual-builder",
|
|
15
|
+
"devtools",
|
|
16
|
+
"css"
|
|
17
|
+
],
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=22.12"
|
|
20
|
+
},
|
|
21
|
+
"packageManager": "bun@1.3.14",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist"
|
|
30
|
+
],
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"sideEffects": false,
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsup",
|
|
37
|
+
"dev": "tsup --watch",
|
|
38
|
+
"check": "biome check .",
|
|
39
|
+
"check:write": "biome check --write .",
|
|
40
|
+
"typecheck": "tsc --noEmit",
|
|
41
|
+
"test": "vitest run",
|
|
42
|
+
"test:watch": "vitest",
|
|
43
|
+
"test:e2e": "playwright test",
|
|
44
|
+
"changeset": "changeset"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"astro": "^7.0.0",
|
|
48
|
+
"vite": "^8.0.0"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"react": "^19.2.8",
|
|
52
|
+
"react-dom": "^19.2.8"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@biomejs/biome": "^2.5.10",
|
|
56
|
+
"@changesets/cli": "^3.0.1",
|
|
57
|
+
"@playwright/test": "^1.62.1",
|
|
58
|
+
"@types/react": "^19.2.18",
|
|
59
|
+
"@types/react-dom": "^19.2.5",
|
|
60
|
+
"astro": "^7.2.7",
|
|
61
|
+
"happy-dom": "^20.11.6",
|
|
62
|
+
"tsup": "^8.5.1",
|
|
63
|
+
"typescript": "~5.9.3",
|
|
64
|
+
"vite": "^8.2.2",
|
|
65
|
+
"vitest": "^4.1.11"
|
|
66
|
+
}
|
|
67
|
+
}
|