Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions Formula/noetica.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
class Noetica < Formula
desc "SocioProphet / SourceOS governed Noetica workstation UI"
homepage "https://github.com/SocioProphet/Noetica"
url "https://github.com/SocioProphet/Noetica.git", branch: "main"
version "0.1.0-dev"
license "MIT"
head "https://github.com/SocioProphet/Noetica.git", branch: "main"

RELEASE_EVIDENCE_RECORD = "https://github.com/SourceOS-Linux/homebrew-tap/blob/main/release-evidence/workspace-operations.json"

depends_on "node"

def install
libexec.install Dir["*"]

(bin/"noetica").write <<~EOS
#!/usr/bin/env bash
set -euo pipefail
exec "#{Formula["node"].opt_bin}/node" "#{libexec}/cli/noetica.mjs" "$@"
EOS
end

def caveats
<<~EOS
Noetica installed the workstation CLI:
noetica version
noetica configure
noetica doctor
noetica smoke --dry-run
noetica start

Homebrew is the installer/distribution path only. Do not use brew services
as the canonical service supervisor for Noetica.

Foreground mode:
noetica start

OS-native service mode:
noetica service install
noetica service start
noetica service status
noetica service stop
noetica service uninstall

Noetica uses OS-native service controls:
macOS: launchctl / LaunchAgent
Linux: systemd --user or SourceOS-compatible user service

User configuration:
~/.config/sourceos/noetica/config.json

Release package evidence:
#{RELEASE_EVIDENCE_RECORD}
Checksum record:
#{RELEASE_EVIDENCE_RECORD}
Rollback note:
#{RELEASE_EVIDENCE_RECORD}
EOS
end

test do
assert_match '"name": "noetica"', shell_output("#{bin}/noetica version")
assert_match '"kind": "NoeticaDoctor"', shell_output("#{bin}/noetica doctor --json")
assert_match '"kind": "NoeticaSmoke"', shell_output("#{bin}/noetica smoke --dry-run")
end
end
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,33 @@

This repository is the SourceOS distribution surface for Homebrew formulas/casks. It is not a runtime governance authority.

## Formulas

Current SourceOS product-surface formulas include:

- `agent-machine`
- `bearbrowser`
- `noetica`
- `sourceos-devtools`
- `sourceos-syncd`
- `turtleterm`

## Noetica service boundary

The Noetica formula installs the workstation CLI and exposes `noetica`.

Homebrew is not the canonical service supervisor for Noetica. Use Noetica's OS-native service adapter commands instead:

```bash
noetica service install
noetica service start
noetica service status
noetica service stop
noetica service uninstall
```

Noetica service mode uses `launchctl` / LaunchAgent on macOS and `systemd --user` or a SourceOS-compatible user service on Linux.

## Release evidence mapping

Release/package operations and evidence for product surfaces are tracked in:
Expand Down
Loading