@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 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)
@@ -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,12 @@
1
+ // src/node/index.ts
2
+ function astroix() {
3
+ return {
4
+ name: "astroix",
5
+ hooks: {}
6
+ };
7
+ }
8
+ var node_default = astroix;
9
+ export {
10
+ node_default as default
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -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
+ }