Skip to content

Commit

Permalink
Merge pull request #151 from NASA-AMMOS/issue-115
Browse files Browse the repository at this point in the history
New Page for Getting Started with SLIM
  • Loading branch information
riverma authored Mar 27, 2024
2 parents fe7cf12 + 8b1cacf commit 3f198f2
Show file tree
Hide file tree
Showing 9 changed files with 128 additions and 17 deletions.
97 changes: 97 additions & 0 deletions docs/guides/checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
sidebar_position: 2
---

# ✅ Getting Started

We have numerous guides and recommendations on this website. You are free to explore and take what you find most helpful. However, if you're looking for more guidance on how to bring together SLIM's recommendations for your project in an aggregated form, you've come to the right place.

## Checklist

Here we present a checklist you can run through for your project, as well as links to automation / guides to make your project ready with the best of SLIM.

Review your project's repositories, and ensure all have the following (in prioritized order):

| Checklist Item | Why? |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| ✅ LICENSE | Spell out legal terms for software usage & modification |
|[README](documentation/readme/) | Provide project overview, setup, & usage instructions |
|[Contributing Guide](governance/contributions/contributing-guide) | Outline how to contribute & the process for submissions |
|[Code of Conduct](governance/contributions/code-of-conduct) | Establish community behavior standards |
|[Issue Templates](governance/contributions/issue-templates/) | Streamline issue reporting for consistency & clarity |
|[Pull Request Templates](governance/contributions/pull-requests/) | Ensure PRs are comprehensive & adhere to project standards |
|[Documentation](documentation/documentation-hosts/) | Offer detailed info on features, APIs, & customizations not covered in README |
|[Change Log](documentation/change-log/) | Keep track of all notable changes in each version in a human-readable format |
|[Security & Dependency Scanning](software-lifecycle/security/github-security) | Identify vulnerabilities & outdated dependencies for security |
|[Sensitive Information Scanning](software-lifecycle/security/secrets-detection/) | Detect accidental commits of sensitive info |
|[Governance Model](governance/governance-model/) | Define decision-making structure & project leadership for transparency & organization |
|[Software Metrics](software-lifecycle/metrics/) | Collect metrics on performance of your software's governance and lifecycle |

## Repository Starter Kit

If you're starting a new project / repository, you can automatically get many of the above set up quickly using our:

**🌐 [Repository Starter Kit](https://github.com/nasa-ammos/slim-starterkit)**

There's two ways to use the Repository Starter Kit:

### Using our Template Repository

1. **Navigate to the Starter Kit**: Go to the [SLIM Repository Starter Kit](https://github.com/nasa-ammos/slim-starterkit) on GitHub.
2. **Create Your Repository**: Click the "Use this template" button at the top right of the GitHub repository page.
![GitHub Use Template Button](/img/gh-use-template.png)
Example screenshot of button to click.
3. **Set Up Your New Repository**: Fill in the Repository name and description for your new project. Decide whether your repository will be public or private. Click "Create repository from template".
4. **Customize Your Repository**: After creation, go through your new repository and look for files containing the `[INSERT ...]` text. These are placeholders for you to replace with information specific to your project. This includes project name, description, contributing guidelines, etc.
5. **Push Changes**: Once you've made your customizations, commit and push the changes to your repository to ensure all your project information is up to date.

### Manually Cloning and Using the Template

If you prefer to set up your project manually or need more control over the initial setup, follow these steps:

1. **Clone the Starter Kit**:
- Open your terminal or command prompt.
- Navigate to the directory where you want your project to be.
- Clone the repository using:
```bash
git clone https://github.com/nasa-ammos/slim-starterkit.git YOUR_PROJECT_NAME
```
- Replace `YOUR_PROJECT_NAME` with the desired name of your project folder.

2. **Navigate to Your Project Directory**:
```bash
cd YOUR_PROJECT_NAME
```

3. **Remove the Git History** and start fresh:
```bash
rm -rf .git
git init
```

4. **Customize Your Project**: Go through the cloned files and modify any `[INSERT ...]` placeholders with information relevant to your project. This step is crucial for tailoring the starter kit to your specific project needs.

5. **Initial Commit**:
- Add all the files to your new git repository:
```bash
git add .
```
- Commit the changes:
```bash
git commit -m "Initial commit with SLIM Repository Starter Kit"
```

6. **Create a New Repository on GitHub** (or your preferred Git hosting service) without initializing it with a README, .gitignore, or license since your project already contains these files.

7. **Link Your Local Repository to GitHub**:
- Follow the instructions provided by GitHub to push an existing repository from the command line, which will include:
```bash
git remote add origin <repository-URL>
git branch -M main
git push -u origin main
```

8. **Push Your Changes**: Ensure all your customizations and initial setup are pushed to your remote repository.

By following these steps, you'll have a new project set up with best practices in repository setup, including a LICENSE, README, contributing guide, and more. Remember to keep your project information up to date and regularly review the repository for any updates to the starter kit that might be beneficial to your project.
6 changes: 3 additions & 3 deletions docs/guides/documentation/_category_.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"label": "Documentation",
"position": 3,
"label": "💬 Information Sharing",
"position": 5,
"link": {
"type": "generated-index",
"description": "Check out our below list of guides and sub-sections related to documentation best practices."
"description": "Check out our below list of guides and sub-sections related to information sharing best practices."
}
}
4 changes: 2 additions & 2 deletions docs/guides/governance/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Governance",
"position": 2,
"label": "🏛 Governance",
"position": 4,
"link": {
"type": "generated-index",
"description": "Check out our below list of guides and sub-sections related to governance best practices."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Download our customizable template to create a contributing guide for your proje
- etc.


2. **Customize the Template**: Modify the [Contributing Guide Template](CONTRIBUTING) to fit your project's specifics.
2. **Customize the Template**: Modify the [Contributing Guide Template](CONTRIBUTING.md) to fit your project's specifics.
- Copy the template and create a `CONTRIBUTING.md` file at the root level of your repository.
- Replace `[INSERT ...]` placeholders with your project's details. These markers are used throughout to designate customization options.
3. **Integrate with Project**:
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/governance/contributions/pull-requests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem

## Step-by-Step Guide

1. **Team Discussion**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](PULL_REQUEST_TEMPLATE) file's fields. Adjust as necessary.
1. **Team Discussion**: Discuss the benefits of a pull request template with your team. Gain consensus on adopting this approach for consistency in contributions. Below is an explanation of our recommended [Pull Request Template](PULL_REQUEST_TEMPLATE.md) file's fields. Adjust as necessary.
- ***Purpose***: To clearly state the intention behind the pull request. This helps reviewers understand the context and significance of your changes.
- ***Proposed Changes***:
- `[ADD]` for new features or content the contributor introduced.
Expand All @@ -51,7 +51,7 @@ Recommendations from GitHub.com on how-to facilitate the use of pull request tem
- In your GitHub repository, create a `.github/` folder to hold community health files.

3. **Add Pull Request Template**:
- Copy the [Pull Request Template](PULL_REQUEST_TEMPLATE) into `.github/PULL_REQUEST_TEMPLATE`.
- Copy the [Pull Request Template](PULL_REQUEST_TEMPLATE.md) into `.github/PULL_REQUEST_TEMPLATE`.
- Commit and push this file to the `main` branch of your repository.

4. **Usage**:
Expand Down
26 changes: 20 additions & 6 deletions docs/guides/search.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import { Card, Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';
import { Link } from 'react-router-dom';

# Guides
# 🔍 Explore Our Guides

Explore our guides via the categories below or the left-hand navigation. You may also search our guides.

<div style={{ display: 'flex', flexWrap: 'wrap', gap: '20px', margin: '20px', justifyContent: 'center' }}>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '20px', justifyContent: 'center' }}>
<Link to="/slim/docs/category/software-lifecycle" style={{ width: '18rem', textDecoration: 'none' }}>
<Card style={{ flex: '1 0 auto', cursor: 'pointer' }}>
<Card.Body style={{ textAlign: 'center' }}>
<img src="/slim/img/lifecycle.svg" alt="Software Lifecycle"></img>
<img src="/slim/img/lifecycle.svg" alt="Software Lifecycle" style={{ maxHeight: '200px' }}></img>
<Card.Title>Software Lifecycle</Card.Title>
<Card.Text>
Covers the entire process of software development, continuous pipelines, application kits, testing, and security.
Expand All @@ -28,7 +28,7 @@ Explore our guides via the categories below or the left-hand navigation. You may
<Link to="/slim/docs/category/governance" style={{ width: '18rem', textDecoration: 'none' }}>
<Card style={{ flex: '1 0 auto', cursor: 'pointer' }}>
<Card.Body style={{ textAlign: 'center' }}>
<img src="/slim/img/governance.svg" alt="Governance"></img>
<img src="/slim/img/governance.svg" alt="Governance" style={{ maxHeight: '200px' }}></img>
<Card.Title>Governance</Card.Title>
<Card.Text>
Dedicated to establishing robust governance frameworks, with standards for contributions and governance models.
Expand All @@ -40,8 +40,8 @@ Explore our guides via the categories below or the left-hand navigation. You may
<Link to="/slim/docs/category/documentation" style={{ width: '18rem', textDecoration: 'none' }}>
<Card style={{ flex: '1 0 auto', cursor: 'pointer' }}>
<Card.Body style={{ textAlign: 'center' }}>
<img src="/slim/img/documentation.svg" alt="Documentation"></img>
<Card.Title>Documentation</Card.Title>
<img src="/slim/img/documentation.svg" alt="Documentation" style={{ maxHeight: '200px' }}></img>
<Card.Title>Information Sharing</Card.Title>
<Card.Text>
Focuses on creating effective project documentation, including Change Logs, Documentation Hosts, and README templates.
</Card.Text>
Expand All @@ -50,6 +50,20 @@ Explore our guides via the categories below or the left-hand navigation. You may
</Link>
</div>

<div style={{ display: 'flex', flexWrap: 'wrap', gap: '20px', marginTop: '20px', justifyContent: 'center', width: '100%' }}>
<Link to="/slim/docs/guides/checklist" style={{ textDecoration: 'none', width: '100%' }}>
<Card style={{ flex: '1 0 auto', cursor: 'pointer', width: '100%' }}>
<Card.Body style={{ textAlign: 'center' }}>
<Card.Title>Getting Started</Card.Title>
<Card.Text>
Not sure where to begin? Start here with our checklist.
</Card.Text>
</Card.Body>
</Card>
</Link>
</div>


<hr/><br/>

## Search
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/software-lifecycle/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Software Lifecycle",
"position": 1,
"label": "🔄 Software Lifecycle",
"position": 3,
"link": {
"type": "generated-index",
"description": "Check out our below list of guides and sub-sections related to software lifecycle best practices."
Expand Down
2 changes: 1 addition & 1 deletion static/data/slim-registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
},
{
"title": "Pull Requests",
"uri": "/slim/docs/guides/governance/contributions/change-request-templates",
"uri": "/slim/docs/guides/governance/contributions/pull-requests",
"category": "governance",
"description": "A guide outlining how to implement a pre-filled pull request template to provide guidance to potential contributors on GitHub.",
"tags": [
Expand Down
Binary file added static/img/gh-use-template.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3f198f2

Please sign in to comment.