0.workspace 中文文档教程
Status: DEV
0.workspace
Zero System 基础工作区,您可以在其中部署和添加堆栈。
您可以在 5 分钟内部署一个完整的Web 软件系统。 确认一切运行后,您可以进行增量更改以根据您的需要进行调整。
Install
Requirements
Commands
nvm use 4
npm install -g 0.workspace
Use-Cases
Create new project
从零系统开始作为您应用程序的基础。
mkdir myNewProject
cd myNewProject
# Assuming EMPTY directory
0.workspace init --commit
git add .
git commit -m "Initialized 0.workspace"
npm install # or `0.workspace install`
0.workspace dev # to work on it locally
0.workspace deploy --commit # to deploy it remotely
# See https://github.com/0system/0system.0#commands for more commands
Wrap an existing project
使用零系统包装现有项目以增强您的开发工作流程。 它将被放入 0.workspace
文件夹,而不是在项目的根目录下提供工作空间(新 项目就是这种情况)。
cd myExistingProject
# Assuming NON-EMPTY directory
0.workspace init --commit
git add .
git commit -m "Initialized 0.workspace"
0.install install # or `cd 0.workspace; npm install`
0.workspace dev # to work on it locally
0.workspace deploy --commit # to deploy it remotely
# See https://github.com/0system/0system.0#commands for more commands
Work on a Zero System project
cd myNewProject
# or
cd myExistingProject/0.workspace # to run `npm run` scripts
On the command line
# These are equivalent
npm run <command>
0.workspace <command>
0w <command>
# Where commands are the same 'npm run' scripts as from https://github.com/0system/0system.0#commands
source scripts/activate.sh
# You now have the root context of your system loaded into your environment
In an IDE
0.workspace edit
Work against a different Zero System clone
0.workspace --help
显示项目使用的当前零系统
0.workspace current
版本:列出已安装版本:
0.workspace ls
列出可用版本:
0.workspace ls-remote
安装新版本:
0.workspace install <version>
切换到不同版本:
0.workspace use <version>
# NOTE: When switching to a different version this command makes changes
to your workspace which need to be committed to git afterwards!
Best practices
- Use the latest Zero System version when starting or wrapping a project.
- Update to the latest pre-built Zero System release version and test/fix your system for compatibility at least once per week.
- Ideally: Use a continuous integration instance to run your whole system test suite against any updates in realtime and configure your system to send anonymized failure reports upstream. This will ensure you know immediately when there is a breaking change coming and can collaborate on the design or an adapter/workaround to bring your system into compatibility as soon as possible as you see fit.
- Run your whole system test suite before and after any changes.
- Ensure you write tests to go along with your business logic and library/service APIs as well as all your other interfaces and add then to the whole system test suite.
- Focus the whole system test suite on testing the final user flows and API contracts first as everything else may change frequently. Focus on continuously testing the code, user interaction and service paths that your organization uses to fulfill its purpose every second of the day.
- Provision and configure all your code components and modules via
ccjson
declarations and write & publish to the community the necessary adapters to do so if missing. - Switch to a clone of the github.com/0system/0system.0 inlined source release of Zero System if you need or want to patch Zero System. We encourage you to contribute your changes back to the community so everyone can benefit. note: Point 2 from above equally applies
- Run the whole system test suite against any new deployment and ensure all new unique paths are test covered.
- Attempt to integrate every new feature into the foundation that Zero System provides to the greatest extent possible and seek guidance from others where needed. Share your contributions with others whenever you can. Build your own ideas into your clone and give others the space to build their own ideas into their own clones. Agree as a community to learn from each other to build a meta platform that can accomodate everyones' unique way of thinking and working in a non-restrictive and whole-enhancing way.
- Welcome every user equally and know that condensed diversity to accomplish a common goal and satify a common need in a whole-enhancing way is an incredible force and requires mutually respectful inclusiveness.
Governance
该项目由 管理Christoph Dorn 是原作者并自选为 Benevolent_dictator_for_life">Benevolent Dictator For Life 以不断引导该项目走向成功最初的目标是提供一个开源和自由基础来构建网络软件系统。 世界上的每个软件用户都必须能够免费获得零系统的副本并部署它的自定义实例; 永远。
Provenance
Free Public License 下的原始源逻辑 克里斯托夫·多恩
Status: DEV
0.workspace
The Zero System base workspace which you can deploy and add your stacks to.
You can have a complete Web Software System deployed in less than 5 minutes. After everything is confirmed running you can make incremental changes to shape it to your needs.
Install
Requirements
Commands
nvm use 4
npm install -g 0.workspace
Use-Cases
Create new project
Start with Zero System as the foundation for your application.
mkdir myNewProject
cd myNewProject
# Assuming EMPTY directory
0.workspace init --commit
git add .
git commit -m "Initialized 0.workspace"
npm install # or `0.workspace install`
0.workspace dev # to work on it locally
0.workspace deploy --commit # to deploy it remotely
# See https://github.com/0system/0system.0#commands for more commands
Wrap an existing project
Wrap an existing project with Zero System to enhance your development workflow. Instead of provisioning the workspace at the root of the project (as is the case for new projects) it will be put into a 0.workspace
folder.
cd myExistingProject
# Assuming NON-EMPTY directory
0.workspace init --commit
git add .
git commit -m "Initialized 0.workspace"
0.install install # or `cd 0.workspace; npm install`
0.workspace dev # to work on it locally
0.workspace deploy --commit # to deploy it remotely
# See https://github.com/0system/0system.0#commands for more commands
Work on a Zero System project
cd myNewProject
# or
cd myExistingProject/0.workspace # to run `npm run` scripts
On the command line
# These are equivalent
npm run <command>
0.workspace <command>
0w <command>
# Where commands are the same 'npm run' scripts as from https://github.com/0system/0system.0#commands
source scripts/activate.sh
# You now have the root context of your system loaded into your environment
In an IDE
0.workspace edit
Work against a different Zero System clone
0.workspace --help
Show the current version of Zero System used by your project:
0.workspace current
List installed versions:
0.workspace ls
List available versions:
0.workspace ls-remote
Install a new version:
0.workspace install <version>
Switch to a different version:
0.workspace use <version>
# NOTE: When switching to a different version this command makes changes
to your workspace which need to be committed to git afterwards!
Best practices
- Use the latest Zero System version when starting or wrapping a project.
- Update to the latest pre-built Zero System release version and test/fix your system for compatibility at least once per week.
- Ideally: Use a continuous integration instance to run your whole system test suite against any updates in realtime and configure your system to send anonymized failure reports upstream. This will ensure you know immediately when there is a breaking change coming and can collaborate on the design or an adapter/workaround to bring your system into compatibility as soon as possible as you see fit.
- Run your whole system test suite before and after any changes.
- Ensure you write tests to go along with your business logic and library/service APIs as well as all your other interfaces and add then to the whole system test suite.
- Focus the whole system test suite on testing the final user flows and API contracts first as everything else may change frequently. Focus on continuously testing the code, user interaction and service paths that your organization uses to fulfill its purpose every second of the day.
- Provision and configure all your code components and modules via
ccjson
declarations and write & publish to the community the necessary adapters to do so if missing. - Switch to a clone of the github.com/0system/0system.0 inlined source release of Zero System if you need or want to patch Zero System. We encourage you to contribute your changes back to the community so everyone can benefit. note: Point 2 from above equally applies
- Run the whole system test suite against any new deployment and ensure all new unique paths are test covered.
- Attempt to integrate every new feature into the foundation that Zero System provides to the greatest extent possible and seek guidance from others where needed. Share your contributions with others whenever you can. Build your own ideas into your clone and give others the space to build their own ideas into their own clones. Agree as a community to learn from each other to build a meta platform that can accomodate everyones' unique way of thinking and working in a non-restrictive and whole-enhancing way.
- Welcome every user equally and know that condensed diversity to accomplish a common goal and satify a common need in a whole-enhancing way is an incredible force and requires mutually respectful inclusiveness.
Governance
This project is governed by Christoph Dorn who is the original author and self-elected Benevolent Dictator For Life to continuously steer this project onto its originally intended goal of providing an Open Source and Free Foundation to build Web Software Systems on. Every software user in the world must be able to obtain a copy of Zero System and deploy a customized instance of it for free; forever.
Provenance
Original source logic under Free Public License by Christoph Dorn