picagear 0.1.0-next.0
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 +59 -0
- package/README.md +171 -0
- package/dist/cli.js +8790 -0
- package/docs/local-installation.md +85 -0
- package/package.json +57 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
Picagear `0.1.0-next.0` is a preview. It can be installed from the npm registry under the `next` tag, or from a reviewed local archive. Both paths install Picagear as a development dependency of a private consumer project with package scripts disabled. This procedure makes no global installation claim.
|
|
4
|
+
|
|
5
|
+
The preview is a functional foreground command line tool. It never merges a pull request and never deletes a worktree. A full lifecycle system integration run against the installed package and live task performance with real providers are not yet proven.
|
|
6
|
+
|
|
7
|
+
Picagear is licensed under the [PolyForm Strict License 1.0.0](../LICENSE). It permits use for noncommercial purposes as the license defines them. It does not grant rights to distribute the software or to make changes or new works based on it. Public availability on npm does not grant further rights. Read the license text for the full terms.
|
|
8
|
+
|
|
9
|
+
## Install the npm preview
|
|
10
|
+
|
|
11
|
+
Use Node 22.13 or later, npm, and Git. Create or select a private consumer project that is separate from any Picagear source checkout.
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
cd <consumer-directory>
|
|
15
|
+
npm init --yes
|
|
16
|
+
npm pkg set private=true --json
|
|
17
|
+
npm install --save-dev --ignore-scripts picagear@next
|
|
18
|
+
./node_modules/.bin/picagear --help
|
|
19
|
+
./node_modules/.bin/picagear init --repo <path> --adapters codex,claude
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This installs Picagear only. Decadra advisory integration is optional and is installed separately from a reviewed local archive as described below. The Decadra package currently published on npm does not provide that integration.
|
|
23
|
+
|
|
24
|
+
## Local archive installation
|
|
25
|
+
|
|
26
|
+
Picagear and Decadra can be installed together from reviewed local archives. This remains a supported local installation path and does not depend on either registry.
|
|
27
|
+
|
|
28
|
+
### Required inputs
|
|
29
|
+
|
|
30
|
+
Use Node 22.13 or later, npm, Git, and a user selected consumer directory that is separate from both source checkouts. The current package versions are Picagear `0.1.0-next.0` and Decadra `0.4.1`.
|
|
31
|
+
|
|
32
|
+
The artifact coordinator creates both archives outside the repositories after review. Each archive record must contain all of these values from the same generation run:
|
|
33
|
+
|
|
34
|
+
| Field | Required value |
|
|
35
|
+
| ---------------- | ------------------------------------------------------------------------- |
|
|
36
|
+
| Source | Repository identity and exact final Git revision |
|
|
37
|
+
| Dirty status | Empty output from `git status --short` |
|
|
38
|
+
| Lock input | SHA256 of the committed `package-lock.json` |
|
|
39
|
+
| Package identity | Name and version read from the packed manifest |
|
|
40
|
+
| Archive | Filename, byte size, SHA256, npm integrity, Node version, and npm version |
|
|
41
|
+
|
|
42
|
+
A filename or version alone is not provenance. Do not copy a digest from an earlier build, and do not describe an archive as retained evidence until the exact bytes and record have actually been retained.
|
|
43
|
+
|
|
44
|
+
### Generate reviewed archives
|
|
45
|
+
|
|
46
|
+
Choose an artifact directory outside both repositories. Confirm each checkout is at its approved final revision and clean. Build, then pack the existing build with package scripts disabled.
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
git -C <picagear-checkout> rev-parse HEAD
|
|
50
|
+
git -C <picagear-checkout> status --short
|
|
51
|
+
npm --prefix <picagear-checkout> run build
|
|
52
|
+
npm pack <picagear-checkout> --ignore-scripts --pack-destination <artifact-directory> --json
|
|
53
|
+
|
|
54
|
+
git -C <decadra-checkout> rev-parse HEAD
|
|
55
|
+
git -C <decadra-checkout> status --short
|
|
56
|
+
npm --prefix <decadra-checkout> run build
|
|
57
|
+
npm pack <decadra-checkout> --ignore-scripts --pack-destination <artifact-directory> --json
|
|
58
|
+
|
|
59
|
+
shasum -a 256 <picagear-checkout>/package-lock.json <decadra-checkout>/package-lock.json
|
|
60
|
+
shasum -a 256 <artifact-directory>/picagear-0.1.0-next.0.tgz <artifact-directory>/decadra-0.4.1.tgz
|
|
61
|
+
node --version
|
|
62
|
+
npm --version
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The coordinator records the JSON returned by each pack command together with the SHA256 output. Tarballs do not belong in either repository.
|
|
66
|
+
|
|
67
|
+
### Install into a separate consumer
|
|
68
|
+
|
|
69
|
+
Create or select a consumer directory that is not either source checkout. The two absolute archive paths must name the reviewed bytes whose digests were recorded.
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
cd <consumer-directory>
|
|
73
|
+
npm init --yes
|
|
74
|
+
npm pkg set private=true --json
|
|
75
|
+
npm install --save-dev --ignore-scripts --no-audit --no-fund \
|
|
76
|
+
<artifact-directory>/picagear-0.1.0-next.0.tgz \
|
|
77
|
+
<artifact-directory>/decadra-0.4.1.tgz
|
|
78
|
+
./node_modules/.bin/picagear --help
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Use this consumer directory as `moduleRoot` in the local Decadra integration configuration. Keep Picagear factory data and the Decadra receiver directory at explicit, separate paths. See the [local integration contract](decadra-local-integration.md).
|
|
82
|
+
|
|
83
|
+
## Evidence boundaries
|
|
84
|
+
|
|
85
|
+
`npm run test:consumer` packs Picagear into a random scratch directory, checks the complete archive inventory, checks the packed manifest release metadata, installs it in a fresh private consumer with scripts disabled, checks the installed manifest release metadata, confirms the installed `LICENSE` matches the source, and runs the installed bin against a disposable Git repository and explicit data root in fake mode. It does not install from the npm registry, install the real Decadra archive, prove lifecycle system integration, call provider workers, use provider credentials, open a pull request, or authorize a live rehearsal. Successful runs remove only their validated scratch directory. Failed runs retain it and print its location for inspection.
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "picagear",
|
|
3
|
+
"version": "0.1.0-next.0",
|
|
4
|
+
"description": "A local code factory: turn an epic into a weekly commitment, compile strict work orders, and run one task per pull request through Codex and Claude Code in isolated worktrees.",
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/picaworks/picagear.git"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"registry": "https://registry.npmjs.org/",
|
|
12
|
+
"access": "public",
|
|
13
|
+
"tag": "next"
|
|
14
|
+
},
|
|
15
|
+
"type": "module",
|
|
16
|
+
"bin": {
|
|
17
|
+
"picagear": "./dist/cli.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist/cli.js",
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"README.md",
|
|
23
|
+
"docs/local-installation.md"
|
|
24
|
+
],
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=22.13.0"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsup",
|
|
30
|
+
"dev": "tsx src/cli.ts",
|
|
31
|
+
"format": "prettier --check .",
|
|
32
|
+
"format:write": "prettier --write .",
|
|
33
|
+
"lint": "eslint .",
|
|
34
|
+
"typecheck": "tsc --noEmit",
|
|
35
|
+
"test": "vitest run --configLoader runner",
|
|
36
|
+
"test:watch": "vitest",
|
|
37
|
+
"test:consumer": "node scripts/consumer-smoke.mjs",
|
|
38
|
+
"check": "npm run format && npm run lint && npm run typecheck && npm test && npm run build"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"commander": "15.0.0",
|
|
42
|
+
"execa": "10.0.1",
|
|
43
|
+
"picocolors": "1.1.1",
|
|
44
|
+
"zod": "4.5.4"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@eslint/js": "10.0.1",
|
|
48
|
+
"@types/node": "26.4.1",
|
|
49
|
+
"eslint": "10.10.0",
|
|
50
|
+
"prettier": "3.9.6",
|
|
51
|
+
"tsup": "8.5.1",
|
|
52
|
+
"tsx": "4.23.13",
|
|
53
|
+
"typescript": "5.9.3",
|
|
54
|
+
"typescript-eslint": "8.69.0",
|
|
55
|
+
"vitest": "5.0.0"
|
|
56
|
+
}
|
|
57
|
+
}
|