TinyChain-Inc / TinyChain-Inc/client

Implement a CLI client

Open
#39 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
0
Avg merge
3d 8h
Merged PRs (30d)
32

Description

Objective

Provide a scriptable TinyChain CLI for authentication, environment selection, application lifecycle management, storage inspection, documentation, usage, and MCP integration.

Subtasks

  • Define command hierarchy, configuration, exit codes, and JSON output
  • Implement account login, logout, recovery handoff, and secure credential storage
  • Implement contexts for local, testnet, and production
  • Implement application build, package, and publish
  • Implement install, upgrade, inspect, stop, rollback, and uninstall
  • Implement persistent-state query and mutation
  • Implement logs, health, and deployment-status commands
  • Implement usage, budget, and billing configuration commands
  • Implement documentation search
  • Implement MCP project interaction
  • Implement local-agent integration
  • Add shell completion and end-to-end tests

Testnet launch slice

Prioritize login, context selection, deploy, inspect, logs, health, upgrade, rollback, and uninstall. Billing and MCP commands may follow.

Procedure

  1. Freeze command names and machine-readable output conventions.
  2. Route all operations through the canonical client API.
  3. Store credentials using OS facilities where available and never print them.
  4. Require explicit context confirmation for production mutations.
  5. Test the same application lifecycle locally and on testnet.
  6. Document recovery from interrupted deployments and expired credentials.

Acceptance criteria

  • A user can authenticate and select testnet explicitly
  • An example app can be deployed, inspected, upgraded, rolled back, and removed
  • Every command supports stable exit codes and actionable errors
  • Automation can consume JSON output
  • Privileged credentials never appear in arguments, output, or logs

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are named. Start by locating the canonical client API and the existing application lifecycle entry points, then define the testnet launch slice before the broader command set. Done means authentication and explicit context selection work, an example app completes deploy through removal, and commands provide stable exit codes, JSON output, and protected credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.