FilOzone / FilOzone/filecoin-services

Modular tooling approach for service_contracts operational scripts

Open
#439 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Solidity
Stars
8
Forks
25
Avg merge
14h 38m
Merged PRs (30d)
12

Description

## Context

We have a growing set of operational scripts under `service_contracts/tools` for deployment, upgrades, and contract operations. They are currently Bash-heavy, which has been effective for getting workflows in place quickly, but it is starting to make reuse, composition, and testing harder.

## Problem

As the number of scripts grows, we are accumulating:
- duplicated logic around chain selection, deployment address loading, and Safe interactions
- inconsistent operator UX across scripts
- limited structure for shared modules and tests
- more Bash to maintain over time

## Goal

Evaluate whether we should keep building on the current Bash approach, or move some or all of this tooling to a more modular implementation approach.

## Things to explore

- whether there is enough common logic now to justify a shared toolchain
- whether a different language/runtime would improve modularity and code sharing
- whether we should standardize a common CLI/operator interface across scripts
- whether we should add shell tooling now even if we keep Bash for the near term

## Near-term improvements to consider even if we keep Bash

- add `shfmt`
- add `shellcheck`
- document conventions for script inputs/outputs
- identify common helpers that should be consolidated

## Outcome

A recommendation on:
1. stay with Bash + add better tooling, or
2. migrate future operational tooling to a more structured toolchain

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inventorying the scripts under service_contracts/tools and tracing duplicated chain selection, deployment address loading, and Safe interaction logic. Review the near-term shfmt, shellcheck, and shared-helper options, then document a recommendation between improving Bash and adopting a structured toolchain, including the proposed operator interface and testing approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash
Domain
cli, devops, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.